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

如何操作Pandas DataFrame列表格式列的指定元素并拼接?

Pandas处理列表格式列的两步操作

需求说明

对DataFrame中以列表格式存储的列完成两项操作:

  1. 将列表第2个位置(索引1)的모름替换为999
  2. 将修改后的列表用下划线_拼接为字符串

完整实现代码

import pandas as pd

# 初始化数据
df = pd.DataFrame({'index':[21144,64182,64184,64197,64198],
                   '농약':['5. 방법/수단 : 농약_바스타_글루포시네이트암모늄' ,
                          '5. 방법/수단 : 농약_바스타_글루포시네이트암모늄',
                          '5. 방법/수단 : 농약_확타_글루포시네이트암모늄' ,
                          '5. 방법/수단 : 농약_모름_글루포시네이트',
                          '5. 방법/수단 : 농약_바로바로_글루포시네이트']})
df.set_index('index',inplace=True)

# 拆分字符串为列表
pes_df = df['농약'].str.split('_',expand=False)

# 定义修改列表的函数
def adjust_list(lst):
    # 检查列表长度足够且第2个元素是'모름'(去除首尾空格避免匹配失败)
    if len(lst) >= 2 and lst[1].strip() == '모름':
        lst[1] = '999'
    return lst

# 应用修改函数
pes_df_modified = pes_df.apply(adjust_list)

# 将列表拼接为下划线分隔的字符串
pes_df_joined = pes_df_modified.str.join('_')

# 将结果添加回原DataFrame
df['농약_수정'] = pes_df_joined

# 查看结果
print("修改后的列表列:")
print(pes_df_modified)
print("\n拼接后的字符串列:")
print(df['농약_수정'])

关键步骤说明

  • 拆分字符串为列表:使用str.split('_', expand=False)将原字符串列拆分为列表格式的Series
  • 修改列表元素:通过apply调用自定义函数,针对每个列表的第2个元素(索引1)判断替换,先去除元素首尾空格避免匹配失败
  • 拼接为字符串:用str.join('_')快速将列表元素拼接为下划线分隔的字符串

示例输出

修改后的列表列片段:

21144    [5. 방법/수단 : 농약, 바스타, 글루포시네이트암모늄 ]
64197       [5. 방법/수단 : 농약, 999, 글루포시네이트 ]
64205            [5. 방법/수단 : 농약, 999, 비펜트린 ]

拼接后的字符串列片段:

21144    5. 방법/수단 : 농약_바스타_글루포시네이트암모늄 
64197       5. 방법/수단 : 농약_999_글루포시네이트 
64205            5. 방법/수단 : 농약_999_비펜트린 
Name: 농약_수정, dtype: object

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:30:39