首页 > 后端开发 > Python教程 > 为什么 Pandas 会抛出''DataFrame'对象没有属性'append'”错误?

为什么 Pandas 会抛出''DataFrame'对象没有属性'append'”错误?

Barbara Streisand
发布: 2024-12-02 15:40:10
原创
558 人浏览过

Why Does Pandas Throw a

错误:“DataFrame”对象没有属性“Append”

问题描述:

尝试附加时字典到 DataFrame 对象时,遇到错误“'DataFrame'对象没有属性'append'”。尽管期望 DataFrame 有一个“append”方法,但错误仍然存​​在。

代码示例:

df = pd.DataFrame(df).append(new_row, ignore_index=True)
登录后复制

错误背后的原因:

从 pandas 2.0 版本开始,append 方法已被删除。对于大多数用例,它已被 concat 方法取代。

使用 Concat 的替代方法:

df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
登录后复制

使用 Loc 的替代方法(对于仅 RangeIndex):

如果 DataFrame 的索引是RangeIndex,可以使用loc方法。

df.loc[len(df)] = new_row
登录后复制

为什么Append被移除:

append的移除是由于new频繁误用该方法而提示的熊猫用户。与Python列表中的append方法不同,pandas的append不会修改现有的DataFrame;

重复插入的最佳实践:

如果需要多次插入,应该收集它们在列表中并在最后转换为 DataFrame,然后可以与原始 DataFrame 连接:

lst = []

for new_row in items_generation_logic:
    lst.append(new_row)

# create extension
df_extended = pd.DataFrame(lst, columns=['A', 'B', 'C'])

# concatenate to original
out = pd.concat([df, df_extended])
登录后复制

以上是为什么 Pandas 会抛出''DataFrame'对象没有属性'append'”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板