我有一个numpy数组(ndarray,每个形状的 (1, 10, 4)
)的输入特征 X
和一个标签阵列 y
对应到类中。
现在我想通过堆叠在一起创建一个新的数组,所有的输入特征在 X
相当于 class 0
在 y
的特征,对应于 class 1
在 y
等......这样就形成了一个新的数组,嵌套的数组等于类的数量。
作为一个最小的例子,比如说我有。
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)
.
我对你的理解正确吗,这是你想要的吗?
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))