我有一个字典列表,例如:
dictionary= {'a': 1, 'b':[{'c':2},{'c':3}], 'd' : 'not_relevant_data'}
我想创建一个像这样的DataFrame:
'a' 'c'
1 2
1 3
这可以通过 df = json_normalize(data=list_of_dictionaries, record_path = 'b', meta ='a')
来完成.
当 'b'
时就会出现问题不在其中一本词典中。
dictionary = {'a':4, 'd': 'not_relevant_data'}
会导致 KeyError,但我想得到一个像这样的 df:
'a' 'c'
4 None
有没有办法在 record_path
的情况下提供默认值不存在?有其他方法可以做到这一点吗?
感谢所有帮助。
最佳答案
为了获得所需的输出,您可以创建一个函数,在其中添加所需的行为:
def add_for_missing(d, record_path, wanted_column='c'):
if record_path not in d:
return {**d, record_path: [{wanted_column: None}]}
return d
json_normalize(data=add_for_missing(dictionary, 'b'), record_path = 'b', meta ='a')
输出:
关于python - 为 pandas.io.json_normalize 提供默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59789330/