我提出了这个问题,关于如何添加带有索引的行,但当没有索引时,我还不清楚是如何发生的。
columnsList=['A','B','C','D']
df8=pd.DataFrame(columns=columnsList)
L=['value aa','value bb','value cc','value dd']
s = pd.Series(dict(zip(df8.columns, L)))
df8.append(s,ignore_index=True)
df8.append(s,ignore_index=True)
我期望这里有一个 2x4 的数据框架。 然而,没有添加任何值,也没有出现错误。
print(df8.shape)
#>>> (0,4)
为什么这个系列没有被添加,而且也没有给出任何错误信息?
如果我尝试添加一行带有LOC的数据,索引就会被添加,
df8.loc[df8.index.max() + 1, :] = [4, 5, 6,7]
print(df8)
结果:
A B C D
NaN 4 5 6 7
我猜LOC和iLOC都不能用于添加没有索引名称的行(即,Loc会添加索引名称NaN,而当索引号大于数据库中的行数时,iLoc无法使用)
df.append
是原地操作的?我对于inplace=True
是否真正有益于 API 有强烈的看法。请参见这里。 - cs95inplace=True
的参数,就像其他Pandas方法一样。 - Sean McCarthy