在python熊猫的一列中转换多维度列表

问题描述 投票:1回答:3

我想知道我是否可以在“翻译”熊猫框架的单个列中的多暗淡列表中获得一些帮助。

我在这里找到了帮助以多列转换一列中的多暗淡列表,但我需要将数据转换成一个]

假设我有以下列表列表

x=[[1,2,3],[4,5,6]]

如果创建框架,我会得到

frame=pd.Dataframe(x)

0  1  2
1  2  3
4  5  6

但是我的愿望结果应该是

0
1
2
3
4
5
6

以零作为列标题。

我当然可以通过for循环来获得结果,从我的角度来看,这需要花费很多时间。是否有任何pythonic / pandas方式获取它?

感谢帮助男人

我想知道我是否可以在“翻译”熊猫框架的单个列中的多重暗淡列表时获得帮助。我在这里找到了帮助,以翻译具有多个...

python pandas list dataframe
3个回答
5
投票

您可以使用np.concatenate

x=[[1,2,3],[4,5,6]]

frame=pd.DataFrame(np.concatenate(x))
print(frame)

输出:

    0
0   1
1   2
2   3
3   4
4   5
5   6

4
投票

首先是必需的 flatten values of lists并传递给DataFrame构造函数:

df = pd.DataFrame([z for y in x for z in y])

或:

from  itertools import chain

df = pd.DataFrame(list(chain.from_iterable(x)))

print (df)
   0
0  1
1  2
2  3
3  4
4  5
5  6

1
投票

如果使用numpy,则可以使用方法ravel()

pd.DataFrame(np.array(x).ravel())
© www.soinside.com 2019 - 2024. All rights reserved.