Python 3.x Python会将Na或Null值移动到新的数据帧

Python 3.x Python会将Na或Null值移动到新的数据帧,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我知道我可以使用df.dropna()从数据帧中删除NaN行。但是,如果我想将这些NaN行移动到新的数据帧,该怎么办? 数据帧看起来像 FNAME, LNAME, ADDRESS, latitude, logitude, altitude BOB, JONES, 555 Seaseme Street, 38.00,-91.00,0.0 JOHN, GREEN, 111 Maple Street, 34.00,-75.00,0.0 TOM, SMITH, 100 A Street, 20.00,-

我知道我可以使用
df.dropna()
从数据帧中删除NaN行。但是,如果我想将这些NaN行移动到新的数据帧,该怎么办? 数据帧看起来像

FNAME, LNAME, ADDRESS, latitude, logitude, altitude
BOB, JONES, 555 Seaseme Street, 38.00,-91.00,0.0
JOHN, GREEN, 111 Maple Street, 34.00,-75.00,0.0
TOM, SMITH, 100 A Street, 20.00,-80.00,0.0
BETTY, CROCKER, 5 Elm Street, NaN,NaN,NaN
我知道我可以分组并移动到像这样的新数据帧

grouped = df.groupby(df.FNAME)
df1 = grouped.get_group("BOB")
它将给我一个新的数据帧,其中包含BOB的
FNAME
,但当我尝试时

grouped = df.groupby(df.altitude)
df1 = grouped.get_group("NaN")

我得到一个
键错误:“NaN”
。那么,如何按Nan或Null值进行分组呢?

假设您对列中的所有
'Nan'
值都要分组感到满意,那么您可以使用
DataFrame.fillna()
'Nan'
转换为其他要分组的值

df.fillna(value={'altitude':'null_altitudes'}

这将使用字符串
'null\u altitudes'
填充
高度
列中的每个空值。如果您现在进行分组,则所有
'null\u althides'
都将在一起。您可以使用多个键值对一次填充多个列:
values={'col_1':'val_1','col_2':'val_2'等}

您可以在行上使用:

# to get rows with NA in a new df
df1 = df[df.isna(axis=1).any()]