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

为什么Pandas调用split函数时提示'n'是无效关键字参数?

错误原因

你混淆了两种完全不同的split方法的参数规则:

  • 你参考的文档是pandas.Series.str.split的说明,该方法的拆分次数参数名为n
  • 你通过df.loc[28,'name']取到的是单个Python原生字符串值,调用的是Python内置str类型的split方法,该方法的拆分次数参数名为maxsplit,根本不存在n参数,因此触发参数无效报错。

你之前不传参数时能正常运行,是因为两种split方法无参数调用的逻辑完全一致,都是按任意空白符全量拆分,所以你没有察觉到调用的是两个不同实现。

解决方案

场景1:仅拆分当前取出的单个姓名

直接把参数名改为maxsplit即可:

name = df.loc[28,'name'].split(maxsplit=1)

运行后就能得到你想要的["Jan", "van den Berg"]结果。

场景2:对整个name列批量拆分

使用pandas提供的str.split方法,此时可以用n参数,还能直接把拆分结果扩展为两列存入DataFrame:

df[['first_name', 'last_name']] = df['name'].str.split(n=1, expand=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:27:01