如何将3D和2D数组放入pandas DataFrame中

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

我在将3D和2D数组放入数据框中时遇到问题。

  • 第一个数组是(2905,150,150);
  • 第二个数组是(2905,3)

[我想要一个具有2905行的数据框,其中每一项我都具有第1列的2D(150,150)数组和第2列的1D数组(3)。

[使用一个较小的示例(对于我的3D数组为(3,2,2),对于我的2D数组为(3,2)),但出于相同的意图:

a = [[[2,6],[1,95]],[[88,42],[21,90]],[[54,78],[47,70]]]
a = np.array(a)

b = [[1,0],[0,0],[0,1]]
b = np.array(b)

3D (a) and 2D (b) arrays

我想要这样做的结果是:Expected result

我想找到一种可以迭代的方式。有人有任何想法吗?

非常感谢!

python pandas numpy multidimensional-array iteration
1个回答
0
投票

这很容易做到

pd.DataFrame(zip(a,b))

结果

          0                    1
0   [[2, 6], [1, 95]]       [1, 0]
1   [[88, 42], [21, 90]]    [0, 0]
2   [[54, 78], [47, 70]]    [0, 1]
© www.soinside.com 2019 - 2024. All rights reserved.