比如说我们有一个二维的List,其中每一维为一List,而她们在第最后维的长度是不一样的,当我们需要将这一list转化成np.array或者torch.tensor时,均将会报错。
在网上搜索无果之后,我自己思考出了一种方法,但它不能在高维使用,期待探讨学习!
我们可以将数据先转化成pd.DataFrame,其中缺少的维度将会自动填充成NAN,然后再根据dataframe的values属性,就可以对应的numpy数组(空缺值为np.nan)。
data = [[1,2,3],[1,2],[5,6,7]]
test = pd.DataFrame(data)
print(test)
test2 = test.values
print(test2)
输出:
0 1 2
0 1 2 3.0
1 1 2 NaN
2 5 6 7.0
[[ 1. 2. 3.]
[ 1. 2. nan]
[ 5. 6. 7.]]