Случайно выбрать длину чисел из массива NumPy - PullRequest
0 голосов
/ 06 июля 2018

У меня есть несколько файлов данных, каждый из которых содержит большое количество точек данных.

После загрузки файла с помощью numpy я получаю массив numpy:

f=np.loadtxt("...-1.txt")

Как выбрать случайным образом длину x, но порядок чисел не должен изменяться?

Например:

f = [1,5,3,7,4,8]

если я хочу выбрать случайную длину из 3 точек данных, вывод должен быть:

  1. 1,5,3 или
  2. 3,7,4 или
  3. 5,3,7 и т. Д.

1 Ответ

0 голосов
/ 06 июля 2018

Чистая логика приведет вас туда.

Для списка f и максимальной длины x действительные начальные точки ваших случайных срезов ограничены 0, len(f)-x:

     0 1 2 3
f = [1,5,3,7,4,8]

Таким образом, вся действительная начальная точка может быть выбрана с помощью random.randrange(len(f)-x+1) (где +1 - потому что randrange работает как range).

Сохраните случайную начальную точку в переменной start и нарежьте свой массив с помощью [start:start+x], или проявите изобретательность и используйте другой срез после первого:

result = f[random.randrange(len(f)-x+1):][:3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...