You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas的append方法报错:'DataFrame'对象无append属性

解决DataFrame.append()属性错误问题

错误原因

Pandas 2.0及后续版本已正式移除DataFrame.append()方法,这是该方法被废弃后出现的标准报错。

修复代码

循环中反复调用append不仅会触发报错,还存在效率低下的问题。推荐改用列表存储临时DataFrame,最后一次性合并的方案,修改后的代码如下:

import requests
import pandas as pd

# 初始化空列表用于存储每页的临时数据框
df_collection = []

for i in range(1, 429):
    # 发起API请求
    response = requests.get('https://api.themoviedb.org/3/movie/top_rated?api_key=<api_key>&language=en-US&page={}'.format(i))
    # 提取指定字段生成临时数据框
    temp_df = pd.DataFrame(response.json()['results'])[['id', 'title', 'overview', 'release_date', 'vote_average', 'vote_count']]
    # 将临时数据框加入列表
    df_collection.append(temp_df)

# 一次性合并所有数据框
df = pd.concat(df_collection, ignore_index=True)

优化建议

  • 替换API密钥:务必将代码中的<api_key>替换为你自己的TMDB有效密钥
  • 添加异常处理:避免API请求失败导致程序中断,示例如下:
for i in range(1, 429):
    try:
        response = requests.get('https://api.themoviedb.org/3/movie/top_rated?api_key=<api_key>&language=en-US&page={}'.format(i))
        response.raise_for_status()  # 捕获HTTP请求错误
        temp_df = pd.DataFrame(response.json()['results'])[['id', 'title', 'overview', 'release_date', 'vote_average', 'vote_count']]
        df_collection.append(temp_df)
    except Exception as err:
        print(f"第{i}页数据获取失败: {str(err)}")
  • 效率对比:列表存储+pd.concat的方式避免了循环中反复创建新DataFrame的开销,比原方案速度更快、内存占用更低

内容的提问来源于stack exchange,提问作者Titanium Gopal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 13:30:54