将python字典转换为具有多列的数据框架
我有以下python字典:将python字典转换为具有多列的数据框架,python,pandas,dictionary,dataframe,Python,Pandas,Dictionary,Dataframe,我有以下python字典: d= {'data' : Counter({ 'important' : 2, 'very' : 3}), 'analytics' : Counter({ 'boring' : 5, 'sleep' : 3}) } 我想以以下格式将其保存为熊猫数据帧: category | word | count dat
d= {'data' : Counter({ 'important' : 2,
'very' : 3}),
'analytics' : Counter({ 'boring' : 5,
'sleep' : 3})
}
我想以以下格式将其保存为熊猫数据帧:
category | word | count
data | important | 2
data | very | 3
analytics | boring | 5
analytics | sleep | 3
我尝试了以下方法,但都不奏效
df = pd.DataFrame(d.items())
df = pd.DataFrame.from_dict(d, orient='index').reset_index()
df = pd.DataFrame(data)
您可以使用:
另一个具有嵌套列表理解的解决方案:
df = pd.DataFrame([(key,key1,val1) for key,val in d.items() for key1,val1 in val.items()])
df.columns = ['category','word','count']
print(df)
category word count
0 analytics boring 5
1 analytics sleep 3
2 data important 2
3 data very 3
df = pd.DataFrame.from_dict(d, orient='index').stack().reset_index()
df.columns = ['category','word','count']
print(df)
category word count
0 analytics boring 5.0
1 analytics sleep 3.0
2 data important 2.0
3 data very 3.0
df = pd.DataFrame([(key,key1,val1) for key,val in d.items() for key1,val1 in val.items()])
df.columns = ['category','word','count']
print(df)
category word count
0 analytics boring 5
1 analytics sleep 3
2 data important 2
3 data very 3