Numpy нефильтровать данные по оригинальным индексам - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть многомерные данные X и соответствующие им метки y.Я фильтрую X по классам следующим образом:

import numpy as np

np.random.seed(0)
X = np.random.rand(220,22,1125)
y = np.random.randint(4, size=(220))


# Class indexes
index_class0 = np.where(y==0)[0]
index_class1 = np.where(y==1)[0]
index_class2 = np.where(y==2)[0]
index_class3 = np.where(y==3)[0]

# Filtering X by classes
X0 = X[index_class0,:,:]
X1 = X[index_class1,:,:]
X2 = X[index_class2,:,:]
X3 = X[index_class3,:,:]

# Assume some operations are performed on X0-X3
# TODO: reconstruct X using X0-X3, having same class indexes.

Теперь, учитывая X0, X1, X2 и X3 и соответствующие индексы классов, как я могу восстановить X, учитывая, что порядок классов остается прежним?

1 Ответ

0 голосов
/ 24 ноября 2018

Мы уже знаем индексы разных классов в исходном массиве.Так что просто создайте пустой массив и поместите X для классов на правильное место.

reconstructed_X = np.zeros(X.shape)

reconstructed_X[index_class0] = X0
reconstructed_X[index_class1] = X1
reconstructed_X[index_class2] = X2
reconstructed_X[index_class3] = X3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...