如何从DataFrame的字典类型单元格中提取整数值?
从DataFrame字典列提取整数值的解决方案
方法1:直接提取字典值(推荐)
针对每个字典仅含单个键值对的场景,用apply配合lambda函数提取字典的值:
import pandas as pd # 构建示例数据 df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [{'meta': 3}, {'meta': 3}, {'tera': 3}] }) # 提取B列字典中的整数值 df['B'] = df['B'].apply(lambda d: list(d.values())[0]) print(df)
执行后输出:
A B 0 1 3 1 2 3 2 3 3
方法2:适配多键字典的通用方案
如果B列字典存在多个键,但你需要提取所有值中的有效数值(示例中均为3),可以通过展开字典为列后填充空值的方式处理:
df['B'] = df['B'].apply(pd.Series).bfill(axis=1).iloc[:, 0]
这个方法会将字典的键转换为临时列,用bfill横向填充空值后取第一列的有效值,适配键不固定的场景。
内容的提问来源于stack exchange,提问作者MemeFast King
相关产品推荐
相关产品推荐

