【发布时间】:2021-12-29 12:56:15
【问题描述】:
所以我有以下字典:
user_dict = {'user1': {'id1': {('word1', 'word2'): 0.99, ('word3', 'word4'): 0.16},
'id2': {('word5', 'word6'): 0.73, ('word7', 'word8'): 0.69}},
'user2': {'id3': {('word9', 'word10'): 0.59, ('word11', 'word12'): 0.13},
'id4': {('word13', 'word14'): 0.41, ('word14', 'word15'): 0.74}}}
出于我的目的,我想将嵌套字典转换为以下形式的 pandas 数据框:
user | id | w1 | w2 | score
---------------------------------------
user1 | id1 | word1 | word2 | 0.99
| | word3 | word4 | 0.16
| id2 | word5 | word6 | 0.73 and so on.
我之前尝试过几种方法,这是我目前的解决方案:
df = pd.Series({(i,j): user_dict[i][j]
for i in user_dict.keys()
for j in user_dict[i].keys()}).rename_axis(['user', 'id']).reset_index(name='Col3')
所以输出是:
user | id | Col3
-------------------------------------------------------------------
user1 | id1 | {('word1', 'word2'): 0.99, ('word3', 'word4'): 0.16)}
user1 | id2 | {('word5', 'word6'): 0.73, ('word7', 'word8'): 0.69)} and so on.
谁能告诉我最后几列我做错了什么?
【问题讨论】:
标签: python pandas dictionary tuples