python字典到大 pandas 数据帧与多列 [英] python dictionary to pandas dataframe with multiple columns
本文介绍了python字典到大 pandas 数据帧与多列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的python字典:
I have the following python dictionary:
d= {'data' : Counter({ 'important' : 2,
'very' : 3}),
'analytics' : Counter({ 'boring' : 5,
'sleep' : 3})
}
我想以下列格式将其保存为大熊猫数据框:
I want to save it as a pandas dataframe in the following format:
category | word | count
data | important | 2
data | very | 3
analytics | boring | 5
analytics | sleep | 3
我尝试了以下操作,但没有一个工作
I tried the following, but none of it worked
df = pd.DataFrame(d.items())
df = pd.DataFrame.from_dict(d, orient='index').reset_index()
df = pd.DataFrame(data)
推荐答案
您可以使用 stack
:
You can use stack
:
df = pd.DataFrame(d).stack().reset_index()
df.columns = ['word','category','count']
print(df)
word category count
0 boring analytics 5.0
1 important data 2.0
2 sleep analytics 3.0
3 very data 3.0
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
嵌套列表理解的另一个解决方案:
Another solution with nested list comprehension:
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
这篇关于python字典到大 pandas 数据帧与多列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文