遇到一些棘手的情况。 Pandas Dataframe df
包含一个列 col
,其中嵌套字典作为值,如下所示:
{'code': 'D104',
'description': 'Error Occured',
'id': '5451235d',
'root_cause': 'Brokage'}
我需要做的是查找字符串中某些代码的出现并用它替换整个字符串,在上面的示例中它将搜索 'D104'
并且所有字符串都将是只是'D104'
而不是字典。
我尝试在该列上应用 .str.contains ()
并在该列上使用 replace ()
函数,但似乎该技巧不起作用以字典作为值。你能帮我指路吗?
最佳答案
如果字典具有相同的结构,您可以 split将它们分成单独的列,然后使用它们。
codes = df[col].apply(pd.Series)['code']
# add `codes` to `df` or lookup 'D104' in codes
...
关于python - 在 Pandas Dataframe 列的嵌套字典中搜索和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471397/