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

DataFrame.drop()参数报错求助:传入3个位置参数但仅支持1-2个

解决DataFrame.drop()的TypeError问题

报错原因

你遇到的问题是因为新版Pandas(1.0.0及以上版本)修改了drop方法的参数规则:原来可以直接把axis的取值(比如1代表删除列)作为第二个位置参数传入,但现在这个参数必须用关键字形式指定,否则会被当成额外的位置参数,导致参数数量超出方法预期,触发TypeError。

修复后的代码

有两种可靠的写法可以解决这个问题:

写法一:显式指定axis=1

probe_df = pd.read_csv(csv_file, header=9233, nrows=4608)
# Get rid of stuff
c_to_drop = 'Unnamed: ' + str(count_tp+1)
probe_df = probe_df.set_index("Chamber ID").drop(c_to_drop, axis=1)

写法二:直接使用columns参数(更直观)

probe_df = pd.read_csv(csv_file, header=9233, nrows=4608)
# Get rid of stuff
c_to_drop = 'Unnamed: ' + str(count_tp+1)
probe_df = probe_df.set_index("Chamber ID").drop(columns=c_to_drop)

额外说明

第二种写法用columns直接指定要删除的列名,代码可读性更强,推荐优先使用。如果你的Pandas版本非常旧(低于1.0.0),原来的写法可能有效,但建议升级到稳定版以避免其他兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:54:54