python - 向数据框添加新行 - 为什么使用 .loc[len(df)] 而不是 .iloc[len(df)]?
问题描述
假设我们得到了一个简单的 pandas 数据框:
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 如果请求的索引器超出范围,将引发 IndexError
df.loc[len(df)]=[9,9]
df
Out[349]:
A B
0 1 4
1 2 5
2 3 6
3 9 9
推荐阅读
- python - OPENERP 6.1 中函数 GROUP_BY 中的字段翻译
- android - 错误快速框登录
- r - 朴素贝叶斯错误:下标越界
- r - R中的圆形或/功能错误?
- powershell - 基于注释的帮助的正确语法 .EXAMPLE
- c# - 异常没有给出它发生的文件或行
- javascript - FullCalendar 行 Javascript
- c# - 我应该使用什么模式来防止耗时过长的异步调用溢出
- java - Android:访问内部 AsyncTask 类的变量,但在片段的 onCreateView 中将其设置为 null
- git - git rebase/checkout 保留最新修改的文件