У меня есть серия csv
файлов, которые я использую NumPy genfromtxt
, чтобы превратить их в массивы. Каждый из них имеет следующий формат:
ColA, ColB, ColC
-2, 10, 10
-1, 10, 10
0, 10, 10
1, 10, 10
2, 10, 10
В случае вышеупомянутого csv
использование genfromtxt(data.csv, delimeter=',', skip_header=1)
создаст массив с формой (5, 3). Затем я могу выполнить итерацию по каждой строке, например:
data_array = np.genfromtxt(data.csv, delimeter=',', skip_header=1)
for row in data_array:
some_function(row[0], row[1], row[2])
, где функция в l oop ожидает и требует трех чисел. Это разбивается, когда csv
содержит только одну строку данных, то есть:
ColA, ColB, ColC,
0, -4, 10,
В этом случае for row in data_array
будет интерпретироваться как взгляд на каждое число в (1, 3) -образной форме массив индивидуально, и поэтому я не могу запустить функцию на нем. У меня есть данные из csv
файлов, которые могут содержать или не содержать более одной строки данных. Как правильно обработать это, чтобы some_function(x, y, z)
всегда можно было завершить, независимо от входного массива? Я мог бы сделать заявление if
, чтобы проверить, является ли массив 1D, но кажется, что есть лучший способ go об этом.