當我從列表創建一個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