【发布时间】:2019-01-15 08:53:16
【问题描述】:
我想将 python 字典转换为 pandas DataFrame,但由于字典值的长度不同,当我这样做时:
recomm = pd.DataFrame(recommendation.items(),columns=['id','recId1','recId2','recId3','recId4','recId5'])
我明白了:
6 列传递,传递的数据有 2 列
这意味着提供的值之一的长度为 2。
为了纠正它,我做了:
for key in recommendation.keys():
while True:
l1 = recommendation[key]
l1.append(0)
recommendation[key] = l1
if len(l1) < 5:
break
但我在转换为 DF 时仍然收到错误。
我查了字典如下:
for key in recommendation.keys():
if len(recommendation[key]) != 5:
print key
发现长度为 5 的也加了 0。意味着我现在有一些长度为 6 的值。 例如字典值:
[12899423, 12907790, 12443129, 12558006, 12880407, 0]
如何更正 while 代码,以便它仅在列表长度为
有没有更好的方法将字典转换为 pandas DataFrame? 字典键是:int 和 str。
【问题讨论】:
-
创建pandas数据框不需要调用
.items()到dict,直接传递dict即可 -
无法解决。即使我删除
.items()也会出现同样的错误
标签: python python-2.7 pandas dictionary