<分区>
我想从一个 numpy 数组中删除 nan
。假设我的 numpy 数组包含:
np_array = ["123","pqr","123",nan,"avb", nan]
预期输出:
["123","pqr","123","avb"]
如果我们使用 pandas.dropna()
在 pandas 中执行此操作,它会删除我不想执行的整行。我只想删除该值并减小数组大小。
有什么办法可以做到吗?
<分区>
我想从一个 numpy 数组中删除 nan
。假设我的 numpy 数组包含:
np_array = ["123","pqr","123",nan,"avb", nan]
预期输出:
["123","pqr","123","avb"]
如果我们使用 pandas.dropna()
在 pandas 中执行此操作,它会删除我不想执行的整行。我只想删除该值并减小数组大小。
有什么办法可以做到吗?
最佳答案
您不能使用 np.isnan
,因为 NaN
是数组中的字符串,但您可以通过与字符串进行比较来使用 bool 索引:"南”
:
>>> import numpy as np
>>> np_array = np.array(["123","pqr","123",np.nan,"avb", np.nan])
>>> np_array[np_array != 'nan']
array(['1234', 'pqr', '123', 'avb'],
dtype='<U4')
关于python - 如果从 pandas 转换为 numpy 后数组包含 nan,则删除 'nan' 或减少 numpy 数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42387613/