我知道我可以用df.dropna()
从DataFrame中删除NaN行。但是如果我想将这些NaN行移动到新的DataFrame中,该怎么办?
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
我知道我可以像这样分组并移动到新的DataFrame
grouped = df.groupby(df.FNAME)
df1 = grouped.get_group("BOB")
它会给予我一个新的DataFrame,其中包含FNAME
的BOB,但当我尝试
grouped = df.groupby(df.altitude)
df1 = grouped.get_group("NaN")
我得到了一个KeyError: 'NaN'
。那么我如何按Nan或Null值分组呢?
2条答案
按热度按时间qncylg1j1#
假设您对列中的所有
'Nan'
值都要分组到一起感到满意,那么您可以使用DataFrame.fillna()
将'Nan'
转换为其他值,以便进行分组。这将使用字符串
'null_altitudes'
填充altitude
列中的每个空值。如果现在执行groupby,则所有'null_altitudes'
将在一起。可以使用多个键值对一次填充多个列:values = {'col_1':'val_1', 'col_2':'val_2', etc}
jdgnovmf2#
您可以将
isna
与行上的any
一起使用: