将带有nan列的每一行弹出到不同的数据框

时间:2019-04-30 19:20:49

标签: python pandas

我有一个数据框,其中某个列通常包含“ nan”。我想把发生这种情况的每一行都放到另一个df中,这可能吗?

EX:

index    Make    Color
  1      Ford     Red
  2      Ford     nan
  3      Chevy    Blue

两个最终的df看起来像这样:

index    Make    Color
  1      Ford     Red
  2      Chevy    Blue

index    Make    Color
  1      Ford     nan

2 个答案:

答案 0 :(得分:5)

只需对isnaany使用布尔索引:

df_nan = df[df.isna().any(1)]
df_other = df[~df.isna().any(1)]

答案 1 :(得分:4)

只需使用groupby并将结果解压缩为变量。

(_,df_1), (_,df_2) = df.groupby(df.Color.isna())

其中df_1没有空值,df_2没有空值。