首页 > 解决方案 > 使用 loc 函数将行附加到数据帧的末尾

问题描述

我有一个数据框,它是一些多步处理的结果。我正在向这个数据框添加一行,如下所示:

df.loc[‘newindex’] = 0

其中“newindex”对于数据框是唯一的。我希望新行显示为数据框中的最后一行。但是该行显示在数据框中间附近的某个地方。

这种行为的原因可能是什么?我必须在最后一个位置添加行,并保留其索引名称。

* 更新 *

我对 df 索引的唯一性是错误的。价值已经存在。

标签: pythonpandasdataframe

解决方案


我认为值newindex已经在索引中,所以loc选择并覆盖行而不是追加:

df = pd.DataFrame({'a':range(5)}, index=['a','s','newindex','d','f'])
print (df)
          a
a         0
s         1
newindex  2
d         3
f         4

df.loc['newindex'] = 0
df.loc['newindex1'] = 0
print (df)
           a
a          0
s          1
newindex   0
d          3
f          4
newindex1  0

推荐阅读