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

如何在python中删除具有nan值的行,python,numpy,Python,Numpy,我有一个带有nan值的数据数组 我想删除具有nan值的行。我想要这个输出: 只保留没有nan值的行 我试着使用这个代码 input = input[~np.isnan(input)] 但是,这些行没有删除 我也用过 a = input[complete.cases(input), ] 但是发生了一个错误。名称错误:未定义名称“完成”数据帧: values_1 values_2 0 700.0 NaN 1 NaN 150.0 2 50

我有一个带有nan值的数据数组

我想删除具有nan值的行。我想要这个输出:

只保留没有nan值的行

我试着使用这个代码

input = input[~np.isnan(input)]
但是,这些行没有删除

我也用过

a = input[complete.cases(input), ]
但是发生了一个错误。名称错误:未定义名称“完成”

数据帧:

   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
数据帧:

   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
给定numpy数组为

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

输出为

[[ 1.  1.  1. 30.]]
给定numpy数组为

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

输出为

[[ 1.  1.  1. 30.]]
试试这个

输入=输入[~np.isnan(输入).any(轴=1)]

any(axis=1)通过对整行执行逻辑or操作,将m*n数组减少为n。

试试这个

输入=输入[~np.isnan(输入).any(轴=1)]


any(axis=1)通过对整行执行逻辑or操作将m*n数组缩减为n。

“complete.cases”表示R“complete.cases”表示RGot错误:AttributeError:“list”对象没有属性“dropna”。顺便问一下,我编辑输入数据,而不是“Nan”,它必须是“Nan”。什么类型的“Nan”?string或np.Nan有一个错误:AttributeError:'list'对象没有属性'dropna'。顺便问一下,我编辑输入数据,而不是“Nan”,它必须是“Nan”。什么类型的“Nan”?字符串或np.nan