gpt4 book ai didi

python-3.x - Pandas DataFrame 导出到_csv 更改列的 dtype

转载 作者:行者123 更新时间:2023-12-04 16:02:07 26 4
gpt4 key购买 nike

希望是一个简单的请求。

我发现当我构建一个 DataFrame 并设置列数据类型然后将其导出到 csv 时,它正在将数字字符串的数据类型转换为整数。

例如一个值可能是“0000”,csv 以值 0 结束。但我需要它保留字符串中的字符数并将 csv 保存为“0000”。

有人知道保留字符串而不是转换后的数据类型的方法吗?

在导入后设置数据类型并不能解决问题(在任何人告诉我我可以在导入时/之后设置它之前),因为它会导致在将整数转换为字符串时您还必须在每次导入时配置前导 0 的问题同样,这不是最佳的。

希望我忽略了一些简单的事情。

(编辑)
哦,我的导出行只是一个简单的导出,这就是为什么我可能只是没有意识到需要提供的参数。

df.to_csv("Test.csv", index=False)

最佳答案

假设 df['your_column']是要保留的列,可以使用dtype参数在 read_csv() :

df.read_csv('temp.csv', dtype={'your_column': str})

如果这不起作用,您确定您的列包含开头的字符串吗?因为这是我看到的行为:
>>> df1 = pd.DataFrame({'a': ['0000', '0000', '0100',]})
>>> df1
a
0 0000
1 0000
2 0100
>>> df1.to_csv('temp.csv', index=False)
>>> df2.read_csv('temp.csv', dtype={'a': str})
>>> df2
a
0 0000
1 0000
2 0100

也许您的问题不在于导出或导入,而在于创建。
df = pd.DataFrame({'a': 0000, 0000, 0100]})

这将创建一个具有值 0,0,100 的数据框.如果您希望它们是字符串,则需要将它们创建为字符串。

关于python-3.x - Pandas DataFrame 导出到_csv 更改列的 dtype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50165799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com