/ / Панди качват редове без NA / запазват редове с NA - питон, панда, индексиране

Pandas пускат редове без NAs / поддържат редове с NAs - python, pandas, indexing

Имам рамка за данни с липсващи стойности в някои клетки. Искам да запазя редовете, които имат нули във всяка колона. Това е обратното на pandas.DataFrame.dropna().

import pandas as pd
import numpy as np

df = pd.DataFrame({"a": [1,2], "b": [np.nan, 4]})
df

a    b
0  1  NaN
1  2  4.0

желания резултат:

   a    b
1  2  4.0

Бих искал да го направя в стил, свързан с метода, така че нещо подобно би било идеално:

df.loc[lambda x: ...]
df.keepna(how="any") # keepna() doesn"t exist

Отговори:

1 за отговор № 1

Можете да създадете булев филтър с df.isnull().any(1) (ако редът има липсваща стойност):

df = pd.DataFrame({"a": [1,2], "b": [np.nan, 4]})

df[df.isnull().any(1)]
#   a   b
#0  1 NaN

Или по друг начин: df[~df.notnull().all(1)].