我试图了解大熊猫是如何运作的,但我认为我错过了一些明显的东西。
我的文件看起来像这样:
dict_spl ={'doc1':[[('word11',1,1),('word12',1,2)]], 'doc2':[[('word21',2,1),('word22',2,2)]]}
我试图获得一个pandas
DataFrame看起来像这样:
# doc1 word11 1 1
# doc1 word12 1 2
# doc2 word21 2 1
# doc2 word22 2 2
我还没有找到一种方法来创建新列和新行,同时复制常用值。
答案 0 :(得分:2)
您可以使用:
a = [[(k, *y) for y in v[0]] for k,v in dict_spl.items()]
a = [item for sublist in a for item in sublist]
df = pd.DataFrame(a, columns=list('abcd'))
print (df)
a b c d
0 doc1 word11 1 1
1 doc1 word12 1 2
2 doc2 word21 2 1
3 doc2 word22 2 2
我觉得有更好的解决方案,所以我问here:
#Martijn Pieters♦'s solution
a = [(k, *t) for k, v in dict_spl.items() for t in v[0]]
df = pd.DataFrame(a, columns=list('abcd'))
print (df)
a b c d
0 doc2 word21 2 1
1 doc2 word22 2 2
2 doc1 word11 1 1
3 doc1 word12 1 2