假设我们得到了一个简单的熊猫数据帧:
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
我想在此数据帧后附加一个新行。为什么以下方法不起作用?
df.iloc[len(df)]=[9,9]
有趣的是,如果我们改用.loc[]
,这一切都可以正常工作,即使len(df)
是一个整数并且.iloc[]
用于基于整数位置的索引,这与.loc[]
不同。
您正在使用索引分配,这loc
不是iloc
从文档中.iloc 将引发索引错误,如果请求的索引器越界
df.loc[len(df)]=[9,9]
df
Out[349]:
A B
0 1 4
1 2 5
2 3 6
3 9 9