热线电话:13121318867

登录
2019-02-16 阅读量: 774
如何在numpy数组中选择行索引?

我有以下numpy数组y_train:

y_train =

2

2

1

0

1

1

2

0

0

我需要随机选择n(n = 2)行索引,如下所示:

n=2

n indices of rows where y=0

n indices of rows where y=1

n indices of rows where y=2

我使用以下代码:

n=2

idx = [y_train[np.random.choice(np.where(y_train==np.unique(y_train)[I])[0],n)].index.tolist() \

for i in np.unique(y_train).astype(int)]

我的真实数组出错y_train:

KeyError: '[70798 63260 64755 ... 7012 65605 45218] not in index'

解决办法:

如果您的预期输出是每个唯一值的随机选择索引列表y_train:

idx = [np.random.choice(np.where(y_train == i)[0], size=2, replace=False) for i in np.unique(y_train)]

OUTPUT:

[array([7, 8]), array([5, 4]), array([1, 0])]

如果要将数组展平为单个数组:

idx = np.array(idx).flatten()

OUTPUT:

array([7, 8, 2, 5, 6, 1])

0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子