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

如何将Pandas DataFrame的ID_Produto列按行转换为列表?

将Pandas Series列的逗号分隔字符串转为列表

需求说明

把DataFrame中ID_Produto列(每行是逗号分隔的字符串)的内容转换为列表形式。

原始数据

import pandas as pd

data = {
    'ID_Pedido': [1, 2, 3],
    'ID_Produto': ['AC1,CD2,UE4', 'AC1,OP3,KJ7', 'CD2,UE4']
}
df = pd.DataFrame(data)

print("原始数据:")
print(df)
print("\n列的类型:")
print(type(df['ID_Produto']))

输出:

原始数据:
   ID_Pedido   ID_Produto
0          1  AC1,CD2,UE4
1          2  AC1,OP3,KJ7
2          3      CD2,UE4

列的类型:
<class 'pandas.core.series.Series'>

解决方法

直接使用Pandas的str.split(',')方法,该方法会将每行的逗号分隔字符串分割为列表:

# 转换列元素为列表
df['ID_Produto'] = df['ID_Produto'].str.split(',')

print("转换后数据:")
print(df)
print("\n单个元素的类型:")
print(type(df['ID_Produto'][0]))

输出:

转换后数据:
   ID_Pedido       ID_Produto
0          1  [AC1, CD2, UE4]
1          2  [AC1, OP3, KJ7]
2          3      [CD2, UE4]

单个元素的类型:
<class 'list'>

补充说明

  • 上述方法得到的是实际的列表类型,方便后续对列表元素做筛选、统计等操作。
  • 如果需要让列表显示为带单引号的字符串形式(如['AC1','CD2','UE4']),可以结合apply和repr方法,但不推荐这种方式(会把列表转为字符串,失去列表的可操作性):
    df['ID_Produto'] = df['ID_Produto'].str.split(',').apply(repr)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:07:12