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

标签 python-3.x pandas dataframe

我知道我可以使用 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

我知道我可以分组并移动到这样的新数据框

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 值进行分组?

最佳答案

假设您满意将列中的所有 'Nan' 值分组在一起,您可以使用 DataFrame.fillna() 进行转换将 'Nan' 转换为其他内容,进行分组。

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

这会使用字符串'null_altitudes' 填充altitude 列中的每个空值。如果您现在进行分组,则所有 'null_altitudes' 将聚集在一起。您可以使用多个键值对一次填充多列:values = {'col_1':'val_1', 'col_2':'val_2', etc}

关于python-3.x - Python Pandas 将 Na 或 Null 值移动到新的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63742247/

相关文章:

r - 使用if语句循环遍历数据框应用功能的行

r - 用一列过滤 R 数据框 - 保持数据框格式

python-3.x - Pandas 将重复项删除到 CSV

python-3.x - 存档中的数据库还原错误 : "There is no item named ' dump. sql'”

python - 在 python pandas 中迭代多索引数据

python - 合并两个具有列表的数据集,并在使用 pandas 合并后保留列表

python - 忽略 NaN 的列表理解

python - 如何将数据帧的第一行读取为数据行而不是标题

python - 我是否在 pandas df.tail() 中发现了错误或犯了错误?

python-3.x - 我想将 sqlite3 db 从内存复制到硬盘。我能怎么做?