每当我在Python中将数据框另存为csv时,Pandas都会创建一个新列

时间:2018-08-01 05:07:04

标签: python pandas export-to-csv

我对Pandas的以下行为感到震惊:每次将数据帧保存为csv文件时,都会添加一个新列。

有关可重现的示例:

print(df)
Medical_Keyword_17  Product_Info_2_A5  Medical_History_27  Family_Hist_2
1                   0                  0                   3            0.0
2                   0                  0                   3            0.0
3                   0                  0                   3            0.0
4                   0                  0                   3            0.0
5                   0                  0                   3            0.0
6                   0                  0                   3            0.0
7                   0                  1                   3            NaN
8                   0                  0                   3            0.0
9                   0                  0                   3            0.0

df.to_csv('toy_data.csv')
df1 = pd.read_csv('toy_data.csv')
print(df1)
Unnamed: 0  Medical_Keyword_17  Product_Info_2_A5  Medical_History_27  \
0           1                   0                  0                   3   
1           2                   0                  0                   3   
2           3                   0                  0                   3   
3           4                   0                  0                   3   
4           5                   0                  0                   3   
5           6                   0                  0                   3   
6           7                   0                  1                   3   
7           8                   0                  0                   3   
8           9                   0                  0                   3   

   Family_Hist_2  
0            0.0  
1            0.0  
2            0.0  
3            0.0  
4            0.0  
5            0.0  
6            NaN  
7            0.0  
8            0.0  

您能帮助我理解并避免这种行为吗?

您的建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

此第一列称为index

为避免将其写入file,请使用index=False

df.to_csv('toy_data.csv', index=False)

df1 = pd.read_csv('toy_data.csv')

或在index_col中使用read_csv参数:

df.to_csv('toy_data.csv')

df1 = pd.read_csv('toy_data.csv', index_col=[0])