2017-03-27 37 views
0

我想將一個熊貓(v0.19.2)DataFrame - 來自read_excel和一些操作 - 導出到一個CSV文件。pandas float64 DataFrame列行爲不像一個(wrt describe和to_csv函數)

雖然有些列被識別爲float64,但to_csv函數中的describe方法和float格式都不起作用...(但它們可以完美地處理隨機生成的數據)。

基本上,行

df["my_column"].describe() 

返回此:

count  5.0 
unique 5.0 
top  7.0 
freq  1.0 
Name: my_column, dtype: float64 

,而我希望它這樣

count 6.000000 
mean  0.276880 
std  1.032943 
min  -1.542513 
25%  -0.103334 
50%  0.797131 
75%  0.896404 
max  1.083524 
Name: my_column, dtype: float64 

相同的回報的東西出口到CSV文件:

df["my_column"].to_csv("test.csv", sep=';', decimal=',', float_format="%.2f") 

創建下列文件:

0;220 
1;154 
2;7 
3;140.800003051758 
4;48.4000015258789 

,而我希望:

0;220,00 
1;154,00 
2;7,00 
3;140,80 
4;48,40 

我在這裏失去了一些東西?

+0

也許需要轉換爲'float'第一 -​​ 'DF [ 「my_column」] astype(浮動).to_csv(「test.csv」,sep =';',decimal =',',float_format =「%。2f」)' – jezrael

+0

太棒了!它起作用了(對於'.describe()')!我不明白爲什麼,因爲熊貓已經告訴我這是一個'浮動',但謝謝! – Pierre

回答

0

您需要通過astype轉換爲float第一,因爲它似乎有些值是字符串和某些數字:

df["my_column"].astype(float).to_csv("test.csv", sep=';', decimal=',', float_format="%.2f") 
+0

太棒了!它起作用了(對於'.describe()')!我不明白爲什麼,因爲熊貓已經告訴我這是一個'浮動',但謝謝! – Pierre

相關問題