为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 python 中删除带有 nan 值的行

如何在 python 中删除带有 nan 值的行

至尊宝的传说 2023-10-11 21:10:07
我有一个带有 nan 值的数据数组我想删除带有 nan 值的行。我想要这个输出:仅保留没有 nan 值的行。我尝试使用此代码input = input[~np.isnan(input)]但是,这些行没有删除。我也用了a = input[complete.cases(input), ]但是发生了错误。名称错误:未定义名称“完整”
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

数据帧:


   values_1  values_2

0     700.0       NaN

1       NaN     150.0

2     500.0     350.0

3       NaN     400.0

4    1200.0    5000.0

你可以试试这个:


df = df.dropna()

df = df.reset_index(drop=True)

输出:


   values_1  values_2

0     500.0     350.0

1    1200.0    5000.0


查看完整回答
反对 回复 2023-10-11
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

给定 numpy 数组为

import numpy as np
input = np.array([[1,1,0,np.nan], [1,1,1,30], [1,0,1,np.nan]])

尝试

output = input[~np.isnan(input).any(axis=1)]

给出输出为

[[ 1.  1.  1. 30.]]


查看完整回答
反对 回复 2023-10-11
?
暮色呼如

TA贡献1853条经验 获得超9个赞

试试这个

input = input[~np.isnan(input).any(axis=1)]

any(axis=1) 将 m*n 数组减少到 n,并对整行进行逻辑或操作。


查看完整回答
反对 回复 2023-10-11
  • 3 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信