2014-11-06 89 views
35

我試圖創建大熊貓CSV,但是當我導出爲CSV它給了我一個額外的行熊貓to_csv第一個額外的列刪除,如何?

d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])} 
df0_fa = pd.DataFrame(d) 
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w') 

所以我的結果將是:

,one,two 
0,1.0,1.0 
1,2.0,2.0 
2,3.0,3.0 
3,,4.0 

但我要的是

one,two 
1.0,1.0 
2.0,2.0 
3.0,3.0 
,4.0 

回答

58

你看到的是索引欄。只需設置index=False

df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w', index=False) 
+1

我不知道我在文檔中錯過了這個,但很棒!這讓我感到很沮喪,試圖找出我將索引作爲列添加到哪裏。 – Blairg23 2015-12-23 22:58:13

+1

我對我的反應比我想象的要嚴重得多。 – 2016-01-04 19:15:22

+4

如果有人也試圖刪除列名,你可以傳入'header = False'。 – twiz 2016-08-14 19:04:01

4

要讀取csv文件沒有索引,你可以取消設置index_col防止大熊貓從使用第一列的索引。在將csv保存到磁盤上時,請不要忘記set index = false in to_csv。這不會生成額外的索引列。另外,如果你需要刪除/刪除從數據幀的特定列,使用drop,它爲我工作如下:

import pandas as pd 
file_path = 'example_file.csv' 
data_frame = pd.read_csv(file_path, index_col = False) 
column_name = 'column' 
data_frame = data_frame.drop(column_name, axis = 1) 
data_frame.to_csv(file_path, index = False) 

在這種情況下,即使您的CSV有一個有效的索引列,你可以跳過index_col = Falseread_csv