Я учусь Python. В моих исследованиях есть четыре вектора: r (4500x1), Гкал c (4500x47), Гобс (4500x1), dg (4500x1). В скобках первое число обозначает количество экземпляров или строк, а второе число обозначает количество переменных или столбцов класса.
>>> len(r)
4500
>>> len(gcalc)
47
>>> len(gcalc['total'])
4500
>>> len(gobs)
4500
>>> len(dg)
4500
Я надеюсь сжать их в вектор, чтобы сохранить этот вектор в файле. Ниже приведены мои сценарии.
import numpy as np
fpath = "./refined_pdf_data.dat"
A = np.column_stack((r, gcalc, gobs, dg)) ##I referred this [link][1], but not work
np.savetxt(fpath, A, header='r[A], Gcalc, Gobs, dG', fmt='%.6f')
, где r, gobs и dg - типы с плавающей запятой, а gcal c - словарь, а его значение - типы с плавающей запятой.
Когда я запускал эти сценарии, я получил сообщения об ошибках, показанные ниже.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<__array_function__ internals>", line 5, in column_stack
File "/user/environment/.../fullrmc4.1/lib/python3.8/site-packages/numpy/lib/shape_base.py", line 656, in column_stack
return _nx.concatenate(arrays, 1)
File "<__array_function__ internals>", line 5, in concatenate
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 4500 and the array at index 1 has size 1
Как я могу исправить эту проблему? Любое дальнейшее предложение будет высоко оценено. Спасибо!