【发布时间】:2021-12-30 03:29:48
【问题描述】:
我有一个关于将 numpy 数组列表转换为对象数组的问题。
import numpy as np
testing_1=[np.array([1]),np.array([2]),np.array([3]),np.array([4]),np.array([np.nan])]
testing_1_array=np.asarray(testing_1, dtype=object)
testing_2=[np.array([1]),np.array([2,3]),np.array([4]),np.array([np.nan])]
testing_2_array=np.asarray(testing_2, dtype=object)
这会导致两种截然不同的结果:
testing_1_array
Out[12]:
array([[1],
[2],
[3],
[4],
[nan]], dtype=object)
testing_2_array
Out[13]: array([array([1]), array([2, 3]), array([4]), array([nan])], dtype=object)
我认为不同之处在于 testing_2_array 中并非所有数组都具有相同的大小。 有什么方法可以强制 numpy 以与 testing_2_output 相同的方式输出 testing_1_array ,这样我就不必额外检查初始列表中的所有数组是否具有相同的大小?
【问题讨论】: