我是Python和熊猫的新手。我试图将具有多个值的键转换为数据帧。以下是示例数据。
Out[]: {a: [1, 2, 3], b: [11, 22, 33],
c: [111, 222, 333], d: [1111, 2222, 3333, 4444}
我尝试过以下代码:
df = pd.DataFrame.from_dict(dict_name, orient = "index")
df1
或者
df = pd.DataFrame(dict_name)
但是,我没有得到我想要的东西,我想我需要循环使用价值观或其他东西,请帮忙。我记得的输出:
col_name1 col_name2
0 a 1
1 a 2
2 a 3
3 b 11
4 b 22
5 b 33
6 c 111
and so on...
感谢您提供任何帮助。
答案 0 :(得分:2)
您可以使用stack
进行重塑,必要时sort_index
并转换为int
,最后通过column
MultiIndex
创建df = pd.DataFrame.from_dict(dict_name, orient = "index")
.sort_index()
.stack()
.astype(int)
.reset_index(level=1, drop=True)
.reset_index()
df.columns = ['col_name1','col_name2']
print (df)
col_name1 col_name2
0 a 1
1 a 2
2 a 3
3 b 11
4 b 22
5 b 33
6 c 111
7 c 222
8 c 333
9 d 1111
10 d 2222
11 d 3333
12 d 4444
reset_index
:
skills : [{ type: ObjectId, ref: 'Skill' }]