我有一个简单的程序,我想在列的末尾添加一个数字
fajl = pd.read_csv('example.csv')
print (fajl)
fajl.at[len(fajl['Hrana']),'Hrana'] = 350
print (fajl)
fajl.to_csv('example.csv')
第一个打印是:
Hrana Izlasci
0 1641 6500.0
1 910 NaN
2 2100 NaN
3 371 NaN
Hrana Izlasci
0 1641.0 6500.0
1 910.0 NaN
2 2100.0 NaN
3 371.0 NaN
4 350.0 NaN
这没关系,这就是我期望它做的事情,但是当我第二次启动它时:
Unnamed: 0 Hrana Izlasci
0 0 1641.0 6500.0
1 1 910.0 NaN
2 2 2100.0 NaN
3 3 371.0 NaN
4 4 350.0 NaN
Unnamed: 0 Hrana Izlasci
0 0.0 1641.0 6500.0
1 1.0 910.0 NaN
2 2.0 2100.0 NaN
3 3.0 371.0 NaN
4 4.0 350.0 NaN
5 NaN 350.0 NaN
它添加了一个新列,我不知道为什么。我是 pandas 新手,所以有人可以解释为什么会发生这种情况以及如何修复它吗?
最佳答案
您需要将参数index=False
添加到to_csv
不保存index
(DataFrame
中的第一列):
fajl.to_csv('example.csv', index=False)
fajl = pd.read_csv('example.csv')
print (fajl)
Hrana Izlasci
0 164.0 6500.0
1 910.0 NaN
2 2100.0 NaN
3 371.0 NaN
4 350.0 NaN
第二次读取 csv 的另一个解决方案是添加参数 index_col
来将第一列读取为 read_csv
中的 index
:
fajl.to_csv('example.csv')
fajl = pd.read_csv('example.csv', index_col=[0])
print (fajl)
Hrana Izlasci
0 164.0 6500.0
1 910.0 NaN
2 2100.0 NaN
3 371.0 NaN
4 350.0 NaN
关于python - Pandas 保存时添加一个空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40989383/