使用扩展[duplicate]从字典创建pandas数据帧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用扩展[duplicate]从字典创建pandas数据帧相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

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

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

实现上述所需输出的最佳方法是什么?

答案

尝试:

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 |
+----+-----+-----+

以上是关于使用扩展[duplicate]从字典创建pandas数据帧的主要内容,如果未能解决你的问题,请参考以下文章

使用元组键从字典创建 MultiIndex pandas DataFrame

从字典列表创建 Pandas MultiIndex 的最佳方法是啥?

如何使用 Pandas 从 DataFrame 或 np.array 中的列条目创建字典

pandas:从字典创建数据框

pandas/numpy:我有一个数组,里面有一个字典。如何从中创建 DataFrame? [复制]

从字典创建 Pandas DataFrame