Python 如何将defaultdict转换为数据帧

Python 如何将defaultdict转换为数据帧,python,pandas,Python,Pandas,我正在尝试将defaultDict转换为pandas数据帧,但我无法这样做 我的数据是什么样子的: 如果我使用以下代码打印defaultDict: for uid, user_ratings in top_n.items(): print(uid, [iid for (iid, _) in user_ratings]) 我得到以下结果: 我所尝试的:(我知道这毫无意义) 输出: TypeError:只能将列表(而不是“元组”)连接到列表 我想要的是: 谢谢您,我们将非常感谢您的帮助。

我正在尝试将defaultDict转换为pandas数据帧,但我无法这样做

我的数据是什么样子的: 如果我使用以下代码打印defaultDict:

for uid, user_ratings in top_n.items():
    print(uid, [iid for (iid, _) in user_ratings])

我得到以下结果:

我所尝试的:(我知道这毫无意义) 输出:
TypeError:只能将列表(而不是“元组”)连接到列表

我想要的是:
谢谢您,我们将非常感谢您的帮助。

如果您对userId运行
[[userId]+ratings[0],在top\n.items()中的ratings会给您同样的错误吗?
type(ratings[0])
的值是多少?如果对userId运行
[[userId]+ratings[0],则在top\n.items()]中的ratings会给出相同的错误吗?
类型(评级[0])
的值是多少?
196 ['408', '64', '318', '511', '963', '169', '187', '98', '174', '427']
186 ['318', '1449', '511', '313', '498', '357', '64', '190', '191', '114']
22 ['12', '56', '64', '205', '302', '641', '98', '603', '527', '408']
244 ['483', '14', '178', '603', '479', '134', '12', '513', '98', '48']
# and the list goes on
df = pd.DataFrame([[userId] + ratings[0] for userId, ratings in top_n.items()], 
                   columns=['id', 'user_id', 'Ratings'])
id | user_id | Ratings
----------------------
1  | 196     | ['408', '64', '318', '511', '963', '169', '187', '98', '174', '427']
2  | 186     | ['318', '1449', '511', '313', '498', '357', '64', '190', '191', '114']
(upto so on)