首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除numpy.ndarray中包含非数字值的所有行

如何删除numpy.ndarray中包含非数字值的所有行
EN

Stack Overflow用户
提问于 2012-07-12 21:41:52
回答 1查看 73.4K关注 0票数 106

基本上,我是在做一些数据分析。我将dataset作为numpy.ndarray读取,但一些值丢失了(要么不在那里,要么是NaN,要么是写为“NA”的字符串)。

我想清除所有包含这样的条目的行。我怎么用一个麻木的ndarray做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-12 21:46:17

>>> a = np.array([[1,2,3], [4,5,np.nan], [7,8,9]])
array([[  1.,   2.,   3.],
       [  4.,   5.,  nan],
       [  7.,   8.,   9.]])

>>> a[~np.isnan(a).any(axis=1)]
array([[ 1.,  2.,  3.],
       [ 7.,  8.,  9.]])

把这个重新分配给a

说明:np.isnan(a)返回与True类似的数组,其中NaN在别处返回,False在别处返回。.any(axis=1)通过对整行执行逻辑or操作将m*n数组简化为n~反转True/Falsea[ ]仅选择原始数组中的行,原始数组的括号中包含True

票数 179
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11453141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档