使用类似字典的结构访问 Pandas 数据框中的嵌套元素

2024-03-25

我有一个数据框如下

In [19]: data_frame
Out[19]: 
                    _id                                              hero
0  55c97138e5fecec26959f3b0  {u'info': {u'id': u'0001', u'name': u'superman'}}

为了过滤掉条目的名称字段,我进行了以下列表理解。有没有更简单的方法来做到这一点?因为此方法不会针对更多嵌套属性进行扩展

In [27]: [y['name'] for y in [x['info'] for x in data_frame['hero']]]
Out[27]: [u'superman']

任何见解都非常感激。 谢谢。


您可以将对象解包到 DataFrame 中,如下所示:

df[(['_id', 'name'])] = df.hero.apply(
    lambda x: pd.Series(x['info'].values(), index=x['info'].keys())
    )

   id                            name   _id  hero
0  55c97138e5fecec26959f3b0  superman  0001  {u'info': {u'id': u'0001', u'name': u'superman'}} 

然后访问列等元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用类似字典的结构访问 Pandas 数据框中的嵌套元素 的相关文章

  • 可以memmap pandas系列。数据框怎么样?

    看来我可以通过创建 mmap d ndarray 并使用它来初始化系列来对 python 系列的底层数据进行内存映射 def assert readonly iloc try iloc 0 999 Should be non editabl
  • Pandas:根据其他列值有条件地替换值

    我有一个数据框 df 如下所示 environment event time 2017 04 28 13 08 22 NaN add rd 2017 04 28 08 58 40 NaN add rd 2017 05 03 07 59 35
  • 将具有多个时区的 pandas 列转换为单个时区

    Problem 我在 pandas DataFrame 中有一个列 其中包含带有时区的时间戳 此列中有两个不同的时区 我需要确保只有一个 这是该列末尾的输出 260003 2019 05 21 12 00 00 06 00 260004 2
  • NumPy 根据另一个数组中的值对第三个数组中的每个匹配元素求和一个数组

    我有两个 numpy 数组 一个包含值 另一个包含每个值类别 values np array 1 2 3 4 5 6 7 8 9 10 valcats np array 101 301 201 201 102 302 302 202 102
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • pandas:根据总和和平均值过滤列

    我有一个时间序列数据的数据框 其中包含列中的数值数据 在绘制这些数据时 我只想绘制某些被认为不足的系列 以下是我选择要绘制的列的方法 df loc df iloc 1 gt 100 df sum gt 1000 换句话说 显着 的标准是一系
  • AttributeError:模块“pandas”没有属性“read_csv”Python3.5

    我已经成功使用pandas read csv很久以来 当我尝试读取 csv 文件时 突然开始出现错误 df pd read csv file csv encoding utf 8 错误是 AttributeError module pand
  • 如何从分组数据创建直方图

    我正在尝试根据 pandas 中的分组数据创建直方图 到目前为止 我已经能够创建标准线图 但我不知道如何做同样的事情来获取直方图 条形图 我想获得泰坦尼克号事故中幸存者和未幸存者的 2 个年龄直方图 看看年龄分布是否存在差异 来源数据 ht
  • Unpivot Pandas 数据

    我目前有一个DataFrame布置为 Jan Feb Mar Apr 2001 1 12 12 19 2002 9 2003 我想将数据 逆透视 使其看起来像 Date Value Jan 2001 1 Feb 2001 1 Mar 200
  • 如何获取DataFrame.pct_change来计算每日价格数据的每月变化?

    我知道可以用periods争论 但是如何将分布在一个月内 例如交易日 的每日价格数据进行回报化呢 示例数据是 In 1 df AAPL 2009 01 02 16 00 00 90 36 2009 01 05 16 00 00 94 18
  • Groupby 应用自定义函数 Pandas

    我正在尝试在 pandas 中应用类似于 dplyr 中的 groupby 和 mutate 功能的自定义函数 我想做的是给出这样的 pandas 数据框 df pd DataFrame category1 a a a b b b cate
  • 如何合并多个Excel文件,每个Excel文件中有多个相同数量的工作表

    我目前可以将多个 Excel 文件合并到一张表中 我想合并每个 Excel 文件中具有两个不同工作表的多个工作表 并为每个工作表指定名称我怎样才能实现这个目标 下面是我当前的代码 用于将多个 Excel 文件中的单个工作表组合在一起 而无需
  • Python Pandas to_datetime AttributeError:'tuple'对象没有属性'lower'

    我有一个由 6 列组成的 csv 第一列具有特定的日期格式 因此我需要将其转换为美国格式 YYYY mm dd 阅读 CSV 文件的内容后 我继续修改 日期 列 但不断收到以下错误 CSV Gmt time Open High Low Cl
  • Pandas DataFrame.hist Seaborn 等效项

    在探索时 我经常使用 Pandas 的 DataFrame hist 方法来快速显示数据框中每个数字列的直方图网格 例如 import matplotlib pyplot as plt import pandas as pd from sk
  • 使用 matplotlib 散布条件颜色

    我有以下 Pandas Dataframe 其中 a 列代表虚拟变量 我想做的是给我的标记一个cmap jet 列值后面的颜色b 除非列中的值a等于 1 在本例中我希望它的颜色为灰色 知道我该怎么做吗 您必须标记等于 1 的值并绘制 imp
  • 在 pandas 中单独打印一列的原始值?

    我有一个数据框 df pd DataFrame name george age 23 name anna age 26 现在我想检索乔治的年龄 df df name george age 但这会输出一些额外的信息以及原始值 0 23 Nam
  • pandas Wide_to_long 后缀参数

    我对在 pandas 中使用 Wide to long 时的参数有疑问 有一个参数叫suffix我不明白 在文档中它说 后缀 str 默认 d 捕获所需后缀的正则表达式 d 捕获数字后缀 没有数字的后缀可以用否定字符类 D 指定 您还可以进
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • 如何使用 Pandas Series 绘制两个不同长度/开始日期的时间序列?

    我正在绘制 每周总事件 的几个熊猫系列对象 系列中的数据events per week看起来像这样 Datetime 1995 10 09 45 1995 10 16 63 1995 10 23 83 1995 10 30 91 1995
  • 对 Pandas DataFrame 进行类型检查

    我想对 Pandas DataFrames 进行类型检查 即我想指定 DataFrame 必须具有哪些列标签以及哪种数据类型 dtype 存储在其中 一个粗略的实现 受此启发question https stackoverflow com

随机推荐