Вы сказали, что не знаете, как удалить значения nan в pandas или numpy, но иногда мы не удаляем их, мы заменяем их.Например, вы можете поставить ноль для ненулевых значений для объекта, или вы можете вычислить среднее значение этого объекта и использовать его.
Чтобы удалить строки со значениями nan, вы можете сделать это:
x = np.array([[1,2,3,4],
[2,3,np.nan,5],
[np.nan,5,2,3]])
x = x[~np.isnan(x).any(axis=1)]
output:
array([[1., 2., 3., 4.]])
Или заменить Nan чем-то другим, например 0, для массива numpy:
x[np.isnan(x)] = 0
output
x:
array([[1., 2., 3., 4.],
[2., 3., 0., 5.],
[0., 5., 2., 3.]])
В кадре данных pandas вы можете удалить определенный столбец с помощью Nan elemnt
x = np.array([[np.nan,2,3,4],
[2,3,np.nan,5],
[3,5,2,3]])
xpd = pd.DataFrame(x, columns=["A","B","C","D"])
xpd = xpd[pd.notnull(xpd['A'])]
output
xpd
A B C D
1 2.0 3.0 NaN 5.0
2 3.0 5.0 2.0 3.0
или удалите строку с элементом Nan
xpd:
A B C D
2 3.0 5.0 2.0 3.0
, а также вы можете заменить значение nan чем-то другим в dataframe padas
xpd = xpd.replace([np.nan], 0)
output
xpd:
A B C D
0 0.0 2.0 3.0 4.0
1 2.0 3.0 0.0 5.0
2 3.0 5.0 2.0 3.0