在Pandas Dataframe列中搜索和替换嵌套字典

时间:2018-05-22 15:27:46

标签: python string pandas dictionary dataframe

有一些棘手的情况。 Pandas Dataframe df包含一列col,其中嵌套的词典的值类似于:

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

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

我尝试在该列上应用'D104'并在列上使用.str.contains ()函数,但似乎该技巧不能将字典用作值。你能指导我吗?

1 个答案:

答案 0 :(得分:3)

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

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