IndexError, когда я пытаюсь заполнить список списков из многомерного массива numpy с помощью выражения выражения в PythoPython

Программы на Python
Anonymous
IndexError, когда я пытаюсь заполнить список списков из многомерного массива numpy с помощью выражения выражения в Pytho

Сообщение Anonymous »

Начиная с файла csv, у меня есть многомерный массив numpy (размеры: 617 x 9), и мне нужен только один столбец этого массива n x m. В этом столбце хранятся последовательные данные, подобные следующим:

Код: Выделить всё

[0,0,0,0,0,0,620,625,622,710,658,2150,2142,2569,2600,21,24,30,45,32,14,1100,1119,1150 ...]
Более или менее циклично они представляют собой наборы значений, которые не сильно отличаются друг от друга. Мне нужно будет назначить средние значения и стандартное отклонение этих значений в список. Итак, в конкретном примере у нас будет (извините, я просто посчитаю среднее значение):

Код: Выделить всё

[0, 647.0, 2365.25, 27.67, 1126.33, ...]
Я не очень разбираюсь в Python, поэтому я решил заполнить список списков теми значениями, для которых разница в 200 между n-м и следующим n+ 1, а затем работать с ним, например:

Код: Выделить всё

[[0,0,0,0,0,0], [620,625,622,710,658], [2150,2142,2569,2600], [21,24,30,45,32,14], [1100,1119,1150] ...]
Мой код для начинающих:

Код: Выделить всё

import numpy as np
import os, time, argparse, matplotlib, glob, datetime, sys, math
path = "/path_to_file/file.csv"
data = np.loadtxt(data, delimiter=',', skiprows=1)

x = [[]]
n_entries = len(data[:,0])
count = 0
m = 0

for n in range(n_entries-1):
if (math.isclose(data[n,1], data[n+1,1], abs_tol = 200)):
x[count][m] = data[n,1]
m += 1

else:
count += 1
m = 0
К сожалению, я получаю такой результат:

Код: Выделить всё

Traceback (most recent call last):
File "/path_to_python_file/file.py", line 49, in 
x[count][m] = data[n,1]
IndexError: list assignment index out of range
Во-первых, мне бы хотелось получить объяснение ошибки, хотя, лазая по сети, я чувствую, что мне нужно сначала инициализировать список... но на самом деле я не знаю в принципе его размеры. Во-вторых, я был бы признателен за любые советы о других способах сделать это, если кто-то чувствует себя умнее меня!
Заранее спасибо, ребята!

Подробнее здесь: https://stackoverflow.com/questions/782 ... numpy-arra

Вернуться в «Python»