python - Pandas 保存时添加一个空列

标签 python pandas

我有一个简单的程序,我想在列的末尾添加一个数字

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/

相关文章:

python - 使用 RPY2 将 psycopg2 的结果映射到 R 的数据帧中

python - 为什么需要 Python 来安装 Cassandra

python - 如何有条件地更新 np.array ?

python - 如何在没有索引的情况下将数据框转换为 Pandas 中的字典

python - 如果日期间隔大于 N 秒,则用最后一个值填充列表

python - 两个线程使用相同的函数

python - sklearn KNeighborsClassifier 评分方法如何工作?

python - 在 python x64 上安装 TA-Lib

python - 获取 0 和 1 列表中每个重复数字 block 的第一个数字

python - 选择满足特定条件的第一行