【问题标题】:Extract key value pair from cell into new column [duplicate]将单元格中的键值对提取到新列中[重复]
【发布时间】:2021-02-07 18:32:32
【问题描述】:

我有一个 Pandas 数据框,其中一列中的单元格通常如下所示:

[{'source_name': 'mitre-attack', 'external_id': 'T1156', 'url': 'https://attack.mitre.org/techniques/T1156'}, {'url': 'https://researchcenter.paloaltonetworks.com/2017/04/unit42-new-iotlinux-malware-targets-dvrs-forms-botnet/', 'description': 'Claud Xiao, Cong Zheng, Yanhui Jia. (2017, April 6). New IoT/Linux Malware Targets DVRs, Forms Botnet. Retrieved February 19, 2018.', 'source_name': 'amnesia malware'}]

如何(在本例中)将键“external_id”的值“T1156”提取到名为 t_id 的新列中?

【问题讨论】:

  • df['t_id'] = df.A.apply(lambda x: x[0].get('external_id')) 这个也可以。
  • @TyngdPunkt - 使用df['t_id'] = df.A.str[0].str.get('external_id')
  • @TyngdPunkt - 或df['t_id'] = df.A.str.get('external_id')
  • @Mayank Porwal 感谢一百万你已经解决了这个问题 :)
  • @jezrael 我的错误对不起,你解决了问题

标签: python pandas


【解决方案1】:

很简单,试试这样:

df['t_id'] = df['external_id']

【讨论】:

  • 不,解决方案显然是错误的。
  • @jezrael 我以为 json 已经转换为 df。
  • 我认为 OP 的问题是将列转换为 DataFrame。
  • 这不起作用我没有名为 external_id 的列。我有一列包含带有 json 的单元格,我想从键 external_id 中提取值
猜你喜欢
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
相关资源
最近更新 更多