将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

我有以下python字典:

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