将可变长度列表的 Python 序列转换为 NumPy 数组时,隐式转换为对象类型
<code class="python">v = [[1], [1, 2]] np.array(v)</code>
输出:
array([[1], [1, 2]], dtype=object)
强制执行特定数据类型,例如 int32,将导致异常:
<code class="python">np.array(v, dtype=np.int32)</code>
异常:
ValueError: setting an array element with a sequence.
要获取 int32 类型的密集 NumPy 数组,其中缺失值用占位符填充,您可以使用 itertools.zip_longest:
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
输出:
array([[1, 0], [1, 2]])
请注意,在 Python 2 中,应该使用 itertools.izip_longest。
以上是如何将 Python 序列转换为填充缺失值的 NumPy 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!