我有一个时间戳数组,其中每个时间戳数组的长度都不同。例如,
[arr1, arr2, arr3....]
arr1 = [0.24, 0.56, 0.77]
arr2 = [0.1, 0.24]
arr3 = [0.6, 0.7, 0.72, 0.88]
这是输出的样子:
NaN, 0.24, 0.56, Nan, Nan, Nan, 0.77, Nan
0.1, 0.24, Nan, Nan, Nan, Nan, Nan, Nan
Nan, Nan, Nan, 0.6, 0.7, 0.72, NaN, Nan
如何继续将所有这些数组合并为一个2D矩阵?另一个要注意的是,每个单独的数组(arr1, arr2, ..)
的大小都非常大(成千上万)。
我认为pandas merge
功能可以使用,但我不知道如何进行。
答案 0 :(得分:2)
这是熊猫的一种方法:
arrs = [arr1,arr2,arr3]
# convert to series
series = [pd.Series(arr,index=arr) for arr in arrs]
# concat with reindex
pd.concat(series, axis=1)
输出:
0 1 2
0.10 NaN 0.10 NaN
0.24 0.24 0.24 NaN
0.56 0.56 NaN NaN
0.60 NaN NaN 0.60
0.70 NaN NaN 0.70
0.72 NaN NaN 0.72
0.77 0.77 NaN NaN
0.88 NaN NaN 0.88