在将DataFrame写入csv文件时,我似乎找不到为浮点数设置小数点(“.”或“,”)的选项. (阅读没问题.)
我的任务/问题:我正在发布一个程序/脚本,并希望所有用户都独立于他们的操作系统和语言设置来使用它,并专门生成一个带有小数点设置的csv输出,如“locale.localeconv()[”decimal_point中所示“]”.
“float_format”选项对我没用.我是否需要将每个浮点数转换为字符串并替换“.”用“,”?
如果这是在其他地方发布的,请原谅我的错误,并提供正确的链接.
非常感谢您的时间和精力!
最佳答案
不会那么高效,但是工作(只是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,0