是否可以堆叠参差不齐的数组列表(列表中的每个数组的大小为 1 行和 n 列)?
Is it possible to stack a list of ragged arrays (where each array in the list is of size 1 row and n columns)?
我有一个数组列表。
[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
我不想连接它们,因为我想存储行以供将来计算。如果行参差不齐,如何逐行堆叠它们?
编辑:是否可以为此目的沿可变轴串联?
您可以使用 pandas DataFrame:
import pandas as pd
data = pd.DataFrame([pd.Series(i) for i in yourlist])
结果将是这样的:
缺点是您在计算时必须处理缺失值。
我有一个数组列表。
[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
我不想连接它们,因为我想存储行以供将来计算。如果行参差不齐,如何逐行堆叠它们?
编辑:是否可以为此目的沿可变轴串联?
您可以使用 pandas DataFrame:
import pandas as pd
data = pd.DataFrame([pd.Series(i) for i in yourlist])
结果将是这样的:
缺点是您在计算时必须处理缺失值。