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

如何从Pandas DataFrame的列表字符串列提取值转为逗号分隔字符串

之前方案报错的核心原因是单元格内存储的是Python列表类型,并非包含[]的字符串,所以字符串相关的strip、replace方法都无法直接使用。

你可以按以下步骤实现需求:

完整实现代码

import pandas as pd

# 第一步:清理列名,去除列名中的空格,比如将"TGR Grade"转为"TGRGrade"
df.columns = df.columns.str.replace(r'\s+', '', regex=True)

# 第二步:将所有列表类型的单元格值转换为逗号分隔的字符串
# map(str)是为了兼容列表中的数字类型元素,避免join时报错
df = df.apply(lambda col: col.apply(lambda x: ','.join(map(str, x))))

# 第三步:过滤掉原来全是空列表的无效行
df = df.replace('', pd.NA).dropna(how='all').reset_index(drop=True)

如果你只想处理指定的几列,避免影响其他非列表类型列,可以替换第二步的代码为:

# 指定要处理的列
target_cols = ['Distance', 'TGRGrade', 'TGR1']
df[target_cols] = df[target_cols].apply(lambda col: col.apply(lambda x: ','.join(map(str, x))))

运行后即可得到你需要的输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:15:05