使用pandas Series.str.rsplit报错:传入3个参数但仅支持1-2个,求解决
解决
Series.str.rsplit()的TypeError问题 你遇到的错误是因为在pandas 2.0.3版本中,Series.str.rsplit()的n参数必须以关键字形式传递,不能直接作为位置参数传入。
修正后的代码
import pandas as pd df1 = pd.DataFrame({'name': ['tom ent', 'nick', 'krish std', 'jack whatever'], 'age': ['5', '6', '7', '8']}) # 使用关键字参数n=1指定从右侧分割1次 df1['name'] = df1['name'].str.rsplit(' ', n=1).str[0] print(df1)
输出结果
name age 0 tom 5 1 nick 6 2 krish 7 3 jack 8
替代方案
也可以用str.rpartition()方法实现同样效果,无需关注参数传递方式:
df1['name'] = df1['name'].str.rpartition(' ')[0]
内容的提问来源于stack exchange,提问作者surge3333
相关产品推荐
相关产品推荐

