通过扩展从字典创建熊猫数据框

时间:2019-04-24 19:47:49

标签: python pandas dataframe

d = {'x': 'a', 'y': [1, 2]}

扩展到

x y
a 1
a 2

所以我尝试了

d = [{'x': 'a', 'y': [1, 2]}, {'x':'b', 'y': [3, 4, 5]}, {'x':'c', 'y': [6]}]
pd.DataFrame(d)

希望它将扩展为

x y
a 1
a 2
b 3
b 4
b 5
c 6

但这会在每一行中创建列表,而不是向下扩展。

达到上述期望输出的最佳方法是什么?

1 个答案:

答案 0 :(得分:-2)

尝试:

df = pd.DataFrame(d)
df.set_index('x')['y'].apply(pd.Series).stack().reset_index().drop('level_1',axis=1)

输出:

+----+-----+-----+
|    | x   |   0 |
|----+-----+-----|
|  0 | a   |   1 |
|  1 | a   |   2 |
|  2 | b   |   3 |
|  3 | b   |   4 |
|  4 | b   |   5 |
|  5 | c   |   6 |
+----+-----+-----+