堆叠numpy数组A对应数组B。

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

我有一个numpy数组(ndarray,每个形状的 (1, 10, 4))的输入特征 X和一个标签阵列 y 对应到类中。

现在我想通过堆叠在一起创建一个新的数组,所有的输入特征在 X 相当于 class 0y的特征,对应于 class 1y等......这样就形成了一个新的数组,嵌套的数组等于类的数量。

作为一个最小的例子,比如说我有。

X = np.random.randn(200, 1, 10, 4)
a = np.zeros(100, dtype=int)
b = np.ones(100, dtype=int)
y = np.hstack((a,b))

So,

print(X.shape)
print(y.shape)
(200, 1, 10, 4)
(200,)

那么新的数组应该是这样的。

Final = [array(#all_features_of class_0), array(#all_features_of_class_1)...]

我的目的是绘制每个类的特征来了解它们的分布。

如果有帮助的话,每个观测值都有 4 的特点,所以 4(1, 10, 4).

python arrays numpy multidimensional-array
1个回答
1
投票

我对你的理解正确吗,这是你想要的吗?

class0, class1=[],[]
for i in range(len(y)):
if y[i]==0:
    class0.append(X[i])
else:
    class1.append(X[i])
Final = (np.array(class0) , np.array(class1))
© www.soinside.com 2019 - 2024. All rights reserved.