【问题标题】:Searching and replacing in nested dictionary in a Pandas Dataframe column在 Pandas Dataframe 列中的嵌套字典中搜索和替换
【发布时间】:2018-11-01 10:35:33
【问题描述】:

遇到一些棘手的情况。 Pandas 数据框df 包含一个列col,其中包含嵌套字典作为值,如下所示:

{'code': 'D104',
  'description': 'Error Occured',
  'id': '5451235d',
  'root_cause': 'Brokage'}

我需要做的是在字符串中找到某些代码的出现并用它替换整个字符串,在上面的示例中它将搜索'D104',所有字符串将只是'D104'而不是dict .

我尝试在该列上应用.str.contains () 并在该列上使用replace () 函数,但似乎该技巧不适用于将字典作为值。可以请你给我指路吗?

【问题讨论】:

  • 您能否发布上面示例的输出结果?
  • 我在一个列中搜索“D104”,输出是“D104”而不是所有包含“D104”的字符串

标签: python string pandas dictionary dataframe


【解决方案1】:

如果字典具有相同的结构,您可以将它们split 分成不同的列,然后使用它们。

codes = df[col].apply(pd.Series)['code']
# add `codes` to `df` or lookup 'D104' in codes
...

【讨论】:

    猜你喜欢
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 2018-10-26
    • 1970-01-01
    • 2017-12-26
    • 2023-04-02
    • 2018-10-22
    相关资源
    最近更新 更多