Как считывать данные и хранить их в 2D массиве с помощью numpy
Я хочу хранить данные разной длины из разных файлов в 2D-массиве.
файл данных:
data1.txt
1,2,3,4
data2.txt
1,2
data3.txt
1,2,65,7,8,9,0,5,4,8,3,43
....
Массив:
х=и NumPy.массив([])
x[number_of_File][данные]:
x[0]----выходные данные1
x[2]----выходные данные2
....
Что я уже пробовал:
Я могу использовать список для реализации этой функции следующим образом,
x = [] try: nameOfPath=["data1.txt","data2.txt","data3.txt",.....] # Names of pathFile can be defined in a document with .txt format for each_item in nameOfPath: with open(each_item, "r") as dataFile: x1 = [] for each_line in dataFile: x1.append(each_line.split(",")) x.extend(x1) except IOError as e: print(e)
тем не менее, я хочу, чтобы реализовать эту функцию с помощью библиотеки numpy.массив.
Я пробую это много раз, но ничего не получается.
Например:
Я использовал np.vstack
x = np.vstack([x, x1])
ошибка показывает, что
all the input array dimensions except for the concatenation axis must match exactly
размеры массива x и x1 не совпадают.
Итак, если я все еще хочу использовать numpy.array, как мне его реализовать?
Спасибо!
Электронная почта: gz.geophysics@outlook.com
Richard MacCutchan
Сообщение об ошибке ясно говорит вам, что вы не можете сделать это, если размеры отдельных массивов различны. Вы можете сначала создать несколько простых массивов с данными, а затем нормализовать их до длины самого длинного.
Zhang, G.
Фактически, список может выполнять эту функцию.
однако numpy.array имеет больше атрибутов и функций для использования. поэтому я все еще хочу использовать массив для хранения данных.
Richard MacCutchan
Хорошо, но вы все равно должны следовать правилам.