当我从列表创建一个Pandas DataFrame并将其转换为具有特定小数点分隔符的csv时,我发现有点奇怪的行为。Pandas DataFrame to csv:为混合类型指定小数点分隔符
这按预期工作:
>>> import pandas as pd
>>> a = pd.DataFrame([['a', 0.1], ['b', 0.2]])
>>> a
0 1
0 a 0.1
1 b 0.2
>>> a.to_csv(decimal=',', sep=' ')
' 0 1\n0 a 0,1\n1 b 0,2\n'
然而,在这种情况下,小数点设置不正确:
>>> b = pd.DataFrame([['a', 'b'], [0.1, 0.2]])
>>> b
0 1
0 a b
1 0.1 0.2
>>> b.to_csv(decimal=',', sep=' ')
' 0 1\n0 a b\n1 0.1 0.2\n'
当我为了得到像a
小数点一个数据帧转b
分离器仍未正确设置:
>>> b.T.to_csv(decimal=',', sep=' ')
' 0 1\n0 a 0.1\n1 b 0.2\n'
为什么我问:在我的程序中,我有列作为单独的列表(例如, col1 = ['a', 'b']
和col2 = [0.1, 0.2]
,但是列数和格式可能有所不同),我想将它们转换与特定小数点分隔到CSV,所以我想有一个像输出
' 0 1\n0 a 0,1\n1 b 0,2\n'
你使用的是什么版本的熊猫?小数只在0.16以后加上 –
@NickHale我使用0.18.1 – elzell