Можно ли составить список рваных массивов (где каждый массив в списке имеет размер 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])

Результат будет примерно таким:

Недостатком является то, что вам придется иметь дело с пропущенными значениями при выполнении ваших расчетов.

Другие вопросы по тегам