python:为数据帧中的每一行忽略dict中的第一个键
我正在使用一个包含dict作为字段的pandas数据帧。第一级键的名称总是唯一的,我想迭代它以提取一个嵌套值并将其附加到列表中。下面是一个关于dicts的概念:python:为数据帧中的每一行忽略dict中的第一个键,python,json,pandas,dataframe,dictionary,Python,Json,Pandas,Dataframe,Dictionary,我正在使用一个包含dict作为字段的pandas数据帧。第一级键的名称总是唯一的,我想迭代它以提取一个嵌套值并将其附加到列表中。下面是一个关于dicts的概念: { 'alpha': { 'date': 'April 18th, 2020', 'name': 'Steve' 'countries': [ 'Grenada', 'Liechtenstein', ], }
{
'alpha': {
'date': 'April 18th, 2020',
'name': 'Steve'
'countries': [
'Grenada',
'Liechtenstein',
],
}
'sigma': {
'date': 'March 13th, 2020',
'name': 'Storm'
'countries': [
'Mayotte',
'Palau',
'Bhutan'
],
}
}
我希望能够抓取“countries”键中的任何内容并将其附加到列表中(并将其添加到dataframe中的新列)。对于这个特定的目录,我想收集的列表看起来像[“格林纳达”、“列支敦士登”、“马约特”、“帕劳”、“不丹]你可以尝试这样做
my_list = []
for k, v in my_dict.items():
my_list += v['countries']
您可以通过dict循环,以获得所需的输出: 例如:
将字典存储在名为data的变量中,然后
result=pd.DataFrame(data).loc['countries'].sum()
dict_list= {
'alpha': {
'date': 'April 18th, 2020',
'name': 'Steve',
'countries': [
'Grenada',
'Liechtenstein',
],
},
'sigma': {
'date': 'March 13th, 2020',
'name': 'Storm',
'countries': [
'Mayotte',
'Palau',
'Bhutan'
],
}
}
my_list = []
for i,v in enumerate(dict_list):
my_list.extend(dict_list[v]['countries'])
print(my_list)#['Grenada', 'Liechtenstein', 'Mayotte', 'Palau', 'Bhutan']