如何在python中删除具有nan值的行
我有一个带有nan值的数据数组 我想删除具有nan值的行。我想要这个输出: 只保留没有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
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