假设我们给了一个简单的pandas数据帧:
df = pd.DataFrame({"A": [1,2,3], "B": [4,5,6]})
我想在此数据框中添加一个新行。为什么以下方法不起作用?
df.iloc[len(df)]=[9,9]
有趣的是,如果我们使用.loc[]
代替,即使len(df)
是整数而.iloc[]
用于基于整数位置的索引,这一切都能正常工作,这与.loc[]
不同
答案 0 :(得分:3)
您正在使用索引分配,loc
而非iloc
如果请求的索引器超出范围,则会从doc .iloc引发IndexError
df.loc[len(df)]=[9,9]
df
Out[349]:
A B
0 1 4
1 2 5
2 3 6
3 9 9