我对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
您能帮助我理解并避免这种行为吗?
您的建议将不胜感激。
答案 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])