Я хотел бы l oop через 10 столбцов и 170 строк, чтобы выбрать 5 случайных чисел - PullRequest
0 голосов
/ 17 января 2020

У меня есть массив данных массива (10, 170) в форме.

Name: id_matrix

array([[   1,  171,  341, ..., 1191, 1361, 1531],
       [   2,  172,  342, ..., 1192, 1362, 1532],
       [   3,  173,  343, ..., 1193, 1363, 1533],
       ...,
       [ 168,  338,  508, ..., 1358, 1528, 1698],
       [ 169,  339,  509, ..., 1359, 1529, 1699],
       [ 170,  340,  510, ..., 1360, 1530, 1700]])

Я хотел бы провести l oop через каждый из 170 столбцов, который также содержит 170 чисел в каждом, и случайным образом выбрать пять чисел. Затем я распечатаю их на экране в виде группы, в этом наброске я смогу соответствующим образом отформатировать, когда код работает правильно.

Group 1: [ 92  73 139  54 147]
Group 2: [182 333 219 292 214]

Мне также нужно установить np.random.seed (489), чтобы сохранить репликацию и повторяемость. Я пытался зафиксировать эти значения и застрять.

col=0
data=[row[col] for row in id_matrix]
print(data)

или эта версия:

import pandas as pd
df[df.columns.to_series().sample(5)]

Кажется, что ни один из этих подходов не выглядит как то, что я хочу ... Я запустил поиски Google , но, похоже, не находит никаких указаний на то, как сгенерировать l oop, который мне нужен для создания случайного набора из этих столбцов.

Пожалуйста, посоветуйте ...

1 Ответ

0 голосов
/ 18 января 2020

Мое решение из ваших комментариев:

for i in range(10):
  random.seed(436)
  sampling = random.sample(set(id_matrix[:,i]), k=5)
  print("Group {}: {}".format(i+1, sampling))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...