在将 DataFrame 写入 csv 文件时,我似乎找不到为 float (“.”或“,”)设置小数点的选项。 (阅读没问题。) 我的任务/问题:我正在发布一个程序/脚本,并希望所有用户独立于他们的操作系统和语言设置来使用它,并专门生成一个带有小数点设置的 csv 输出,如“locale.localeconv()[”decimal_point “]”。 “float_format”选项对我不起作用。我是否需要将每个 float 转换为字符串并替换“。”和 ”,”? 如果这篇文章发布在其他地方,请原谅我的错误并提供正确的链接。
非常感谢您的时间和精力!!
最佳答案
不会那么高效,但可以完成工作(只是 to_csv)
In [29]: df = DataFrame(dict(A = [1.5,2.5], B = [2.5,3.0]))
In [30]: df
Out[30]:
A B
0 1.5 2.5
1 2.5 3.0
In [31]: df.applymap(lambda x: str(x).replace('.',','))
Out[31]:
A B
0 1,5 2,5
1 2,5 3,0
这应该会快一点(至少需要 0.12)
In [37]: df.applymap(str).replace(r'\.',',',regex=True)
Out[37]:
A B
0 1,5 2,5
1 2,5 3,0
关于Python PANDAS 写入 csv : how to set decimal point (".", 或 ",")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249318/