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

如何访问Pandas DataFrame中拆分生成的列表元素?

解决方法

你遇到的问题是因为df['Correspondant Split']是pandas的Series对象,直接用[-1]或[1]是取Series的行数据,而非每行列表里的元素。以下是两种可行方案:

方案1:拆分时直接展开为多列

不用先生成列表列,拆分时直接把每个元素拆成单独的列,一步到位:

# 按空格拆分,expand=True会自动把列表元素展开为多列
df[['头衔', '名字', '姓氏']] = df['Correspondant'].str.split(' ', expand=True)

这样直接得到三列,分别对应"Mr"、"Michel"、"DURAND",后续直接操作这些列即可。

方案2:从已有的列表列提取元素

如果已经生成了Correspondant Split列,要用.str[]来访问每行列表的特定位置元素(索引从0开始):

  • 提取第一个元素(头衔):
    df['头衔'] = df['Correspondant Split'].str[0]
    
  • 提取第二个元素(名字):
    df['名字'] = df['Correspondant Split'].str[1]
    
  • 提取最后一个元素(姓氏):
    df['姓氏'] = df['Correspondant Split'].str[-1]
    

注意事项

如果部分行的文本拆分后列表长度不一致,上述两种方法都会在缺失位置填充NaN,可以根据实际数据用fillna()或其他方法处理缺失值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:57:16