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

如何将Pandas DataFrame单元格内容转换为列表?

解决DataFrame单元格内容转列表的问题

嘿,这事儿好办!我来给你一步步讲清楚怎么把指定Record Type对应的Value转换成整数列表。

首先,先假设你已经用pandas创建了对应的DataFrame,我们先把示例数据构造出来:

import pandas as pd

df = pd.DataFrame({
    'Record Type': [100, 200, 300],
    'Value': ['1,2,3,4,5', '0,10', '1']
})

接下来有两种常用方法,看你需求选:

方法一:直接定位目标单元格转换

如果你只需要获取Record Type=100对应的列表,直接定位到这个单元格处理就行:

# 先筛选出Record Type为100的行,取出对应的Value字符串
target_value_str = df.loc[df['Record Type'] == 100, 'Value'].iloc[0]
# 按逗号分割字符串,再把每个元素转成整数,最后转成列表
list1 = list(map(int, target_value_str.split(',')))

print(list1)  # 输出结果就是 [1, 2, 3, 4, 5]

这里解释下:df.loc[df['Record Type'] == 100, 'Value']会返回一个只包含目标值的Series,iloc[0]是取出这个Series里的第一个元素(如果你的Record Type是唯一的,这步就没问题);split(',')把字符串按逗号拆成字符串列表,map(int, ...)把每个字符串转成整数,最后用list()转成标准列表。

方法二:批量转换后再取值

如果你之后可能需要用到其他Record Type对应的列表,可以先把整个Value列都转换成列表,再按需取值:

# 给DataFrame新增一列,把每个Value都转成整数列表
df['Value_List'] = df['Value'].apply(lambda x: list(map(int, x.split(','))))

# 再取出Record Type=100对应的列表
list1 = df.loc[df['Record Type'] == 100, 'Value_List'].iloc[0]

这种方法的好处是一次处理完所有数据,之后再获取其他Record Type的列表就很方便啦。

需要注意的是,如果你的DataFrame里Record Type可能有重复值,那你可能需要用tolist()来获取所有匹配的列表,而不是iloc[0]。比如:

# 如果有多个Record Type=100的行,获取所有对应的列表
all_lists = df.loc[df['Record Type'] == 100, 'Value_List'].tolist()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:33:02