将Python序列转换为NumPy数组,填充缺失值

将Python序列转换为NumPy数组,填充缺失值

可变长度列表的Python序列隐式转换为NumPy数组会导致该数组为object类型。

v = [[1], [1, 2]]np.array(v)>>> array([[1], [1, 2]], dtype=object)

试图强制其他类型将导致异常:

np.array(v, dtype=np.int32)ValueError: setting an array element with a sequence.

通过使用给定的占位符填充“缺失”值,获得int32类型的密集NumPy数组的最有效方法是什么?

从我的样本序列中v,我想得到类似的东西,如果0是占位符

array([[1, 0], [1, 2]], dtype=int32)


米琪卡哇伊
浏览 464回答 3
3回答

德玛西亚99

熊猫及其DataFrame-s与丢失的数据完美交易。import numpy as npimport pandas as pdv = [[1], [1, 2]]print(pd.DataFrame(v).fillna(0).values.astype(np.int32))# array([[1, 0],#        [1, 2]], dtype=int32)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python