当前位置: 首页 > 面试题库 >

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

戚翼
2023-03-14
问题内容

基本上,我正在做一些数据分析。我以numpy.ndarray的形式读取数据集,但缺少了某些值(要么只是不在那里,要么就是被NaN写为“
NA”的字符串)。

我想清除包含这样任何条目的所有行。我该如何用一个numpy的ndarray?


问题答案:
>>> 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,其中NaNFalse在其他地方。.any(axis=1)降低了m*n阵列n逻辑or对整个行,操作~反相True/Falsea[ ]从原始数组只选择行,其具有True括号内。



 类似资料:
  • 哦,我想这是一个很简单的问题...我只想从arraylist中删除非数字元素,只保留数字元素,我想这与java.lang.Number有关。 谢谢师父的指导 祝你有一个美好快乐的一天

  • 我有如下数据帧。 输入 输出 这怎么能在python中完成

  • include_cols是一个字符串列表 df1是一个大文件的数据帧。我只想保留名称包含include_cols中任何字符串的列。

  • 我正在尝试将csv文件中的值映射到RDD,但我收到以下错误,因为某些字段为空。 线程"main"中的异常org.apache.spark.SparkException:由于阶段失败而中止的作业:阶段0.0中的任务0失败1次,最近的失败:阶段0.0中丢失的任务0.0(TID 0,localhost,执行驱动程序):java.lang.NumberFormatException:空字符串 以下是我正在

  • 我有以下矩阵: 我只想删除id为3的行。请注意,当我使用时,它仍然保留,因为id本身是唯一的。

  • 问题内容: 我有一个表,表中定义了员工关系。IE 等等… 在高级ID是外键的主键表与refreence列EmpId相同的情况下,我想从该表中清除所有行而不删除任何约束。我怎样才能做到这一点? 需要像这样进行删除4、3、2、1 我怎样才能做到这一点 编辑: Jhonny的答案对我有用,但是哪个答案更有效。 问题答案: 我不知道我是否缺少某些东西,但是也许您可以尝试一下。