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
但这会在每一行中创建列表,而不是向下扩展。
达到上述期望输出的最佳方法是什么?
答案 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 |
+----+-----+-----+