如何将嵌套字典转换为数据框
我的字典在下面
out = {'1.2.2.2': {'DELETE': 1,
'GET': 5,
'POST': 1,
'PUT': 3},
'2.2.2.2': {'DELETE': 1,
'GET': 6,
'POST': 3,
'PUT': 3},
'3.3.3.3': {'DELETE': 0,
'GET': 6,
'POST': 2,
'PUT': 1}
我想使用列值IP,DELETE,DELETE,POST,PUT转换为数据框
IP密钥不在我的位
import dataframe
pd.DataFrame([out])
df.columns =['IP', 'DELETE', 'POST', 'PUT']
答案 0 :(得分:0)
您可以这样做:
df = pd.DataFrame(columns=['DELETE', 'POST', 'PUT'])
for item in out:
list_dict = []
list_dict.append({'DELETE':out[item]['DELETE'], 'POST':out[item]['POST'], 'PUT':out[item]['PUT']})
df= df.append(list_dict)
,然后添加一个名为ID的列。像这样:
df['ID']=[0]*len(df)
在这里,我将所有ID设为0。您可以根据自己的数据进行更改。
答案 1 :(得分:0)
out = {'1.2.2.2': {'DELETE': 1,
'GET': 5,
'POST': 1,
'PUT': 3},
'2.2.2.2': {'DELETE': 1,
'GET': 6,
'POST': 3,
'PUT': 3},
'3.3.3.3': {'DELETE': 0,
'GET': 6,
'POST': 2,
'PUT': 1}}
创建要包含的列的列表
cols = ['IP', 'DELETE', 'POST', 'PUT']
以下内容将转置数据帧,重置索引,并将先前的索引重命名为“ IP”
pd.DataFrame(out).T.reset_index().rename(columns={'index':'IP'})[cols]
此输出将是:
IP DELETE POST PUT
0 1.2.2.2 1 1 3
1 2.2.2.2 1 3 3
2 3.3.3.3 0 2 1