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

升级Pandas到0.25.0后调用read_csv报max_rows参数错误如何解决

Pandas 0.25.0 版本 read_csv 报 max_rows 参数错误解决方案

问题复现

你通过如下命令将 Pandas 升级到 0.25.0 版本:

pip install --upgrade pandas==0.25.0

升级后执行读取csv的代码:

df_complete=pd.read_csv('tmdb-movies.csv')

触发报错,原始报错信息为 TypeError: __init__() got an unexpected keyword argument 'max_rows',中文翻译为:类型错误:__init__() 接收到了未预期的关键字参数 max_rows
Pandas Notebook 报错截图

结论

不需要重新安装 Pandas,该报错为版本间参数规则变更导致的兼容问题,和Pandas包的安装完整性无关。

问题原因

Pandas 从0.25.0版本开始正式移除了此前作为废弃别名存在的max_rows读取参数,统一使用nrows作为限制读取行数的入参。你在代码中没有显式传入max_rows,大概率是当前Jupyter Notebook的全局配置、或者提前导入的第三方工具库隐式给read_csv方法注入了这个已废弃的参数。

最简解决方法

按使用优先级排序:

  • 最低修改成本方案:直接在调用read_csv时显式传入nrows参数覆盖隐式配置即可,不影响原有读取逻辑:
    # nrows=None 为默认值,代表读取全部行
    df_complete=pd.read_csv('tmdb-movies.csv', nrows=None)
    
  • 全局生效方案:打开Jupyter对应的IPython配置文件(默认路径为~/.ipython/profile_default/ipython_config.py),找到给pandas.read_csv设置默认入参的配置项,将其中的max_rows字段替换为nrows即可,后续所有read_csv调用无需额外修改。
  • 第三方依赖兼容方案:如果是引入的第三方工具库隐式传入了废弃参数,可以在导入Pandas后添加一行兼容代码,自动过滤无效的max_rows参数:
    import pandas as pd
    # 兼容代码
    original_read_csv = pd.read_csv
    pd.read_csv = lambda *args, **kwargs: original_read_csv(*args, **{k:v for k,v in kwargs.items() if k != 'max_rows'})
    

内容的提问来源于stack exchange,提问作者Seif Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:06:03