报错如题:AttributeError: ‘DataFrame’ object has no attribute ‘append’
原因:
这个错误的产生通常由于利用pandas的append()方法为DataFrame对象添加新行导致,事实上,Pandas的DataFrame对象并没有append()方法。
解决方法:
① 将所需添加行创建成一个Series,命名new_row
② 用concat()函数将新行添加到一个DataFrame中
eg:
- to_frame()方法表示将新序列new_row转换为DataFrame
- .T表示T属性,将new_row转置
- ignore_index=True表示忽略索引,直接将新序列添加在末尾
- 需要注意Pandas的DataFrame对象本身是不可变的,因此添加新行后,必须将新的DataFrame分配给原始的DataFrame变量名。
以下是实操案例:
(1)这是原来的DataFrame df1,现在希望给它添加一行到末尾
(2)按照刚才的说明,添加新行,代码如下:
# 忽略Index直接追加数据到末尾
new_row = pd.Series({'名称' : 'lesson6', '观看次数' : 300, '评论数' : 10, '顶踩比例' : 0.6, '发布时间' : 99})
df1 = pd.concat([df1, new_row.to_frame().T], ignore_index=True)
df1
结果如下,成功添加