Можно ли составить список рваных массивов (где каждый массив в списке имеет размер 1 ряд и n столбцов)?
У меня есть список массивов.
[array([ 2., 4., 6., 8., 10., 12., 14., 16., 18.,
20., 22., 24., 26., 28., 30., 32., 34., 36.,
38., 40., 42., 44., 46., 48., 50., 52., 54.,
56., 58., 60., 62., 64., 66., 68., 70., 72.,
74., 76., 78., 80., 82., 84., 86., 88., 90.,
92., 94., 96., 98., 100.]), array([ 4., 8., 12., 16., 20., 24., 28., 32., 36.,
40., 44., 48., 52., 56., 60., 64., 68., 72.,
76., 80., 84., 88., 92., 96., 100.]), array([ 8., 16., 24., 32., 40., 48., 56., 64., 72., 80., 88.,
96.])]
я пытался np.vstack
составлять массив списков за массивом. Но поскольку массивы не имеют одинаковый размер (т. Е. Различное количество столбцов), я получил эту ошибку:
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Я не хочу объединять их, потому что я хочу сохранить строки для будущих вычислений. Как я могу сложить их строка за строкой, если строки неровные?
Изменить: можно ли объединить вдоль переменной оси для этой цели?
1 ответ
Решение
Вы можете использовать панду DataFrame:
import pandas as pd
data = pd.DataFrame([pd.Series(i) for i in yourlist])
Результат будет примерно таким:
Недостатком является то, что вам придется иметь дело с пропущенными значениями при выполнении ваших расчетов.