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

从列表字典生成DataFrame后,提取列中元组的数值

提取DataFrame元组中的数值部分

给定字典生成的DataFrame中,各列元素为包含类别名和数值的元组,以下两种方法可提取其中的数值部分:

方法一:对已生成的DataFrame做转换

先按原代码生成DataFrame,再用applymap遍历每个单元格提取元组的数值项:

import pandas as pd

d={0:[('cat_a', 15),('cat_b', 12)], 
1: [('cat_a',10),('cat_b',7)],
2:[('cat_a', 12),('cat_b', 8)]}

# 原代码生成含元组的DataFrame
data = [l for l in d.values()]
df=pd.DataFrame(data,columns=['cat_a','cat_b'])

# 提取元组中的数值
df = df.applymap(lambda x: x[1])

方法二:生成DataFrame前预处理数据(更高效)

在构造数据列表时直接提取元组的数值,避免后续转换操作:

import pandas as pd

d={0:[('cat_a', 15),('cat_b', 12)], 
1: [('cat_a',10),('cat_b',7)],
2:[('cat_a', 12),('cat_b', 8)]}

# 提前提取数值,生成纯数值列表
data = [[t[1] for t in lst] for lst in d.values()]
df=pd.DataFrame(data,columns=['cat_a','cat_b'])

两种方法最终得到的DataFrame均为:

cat_a  cat_b
0     15     12
1     10      7
2     12      8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:55:14