为了账号安全,请及时绑定邮箱和手机立即绑定

创建一个描述其他列中缺失值的列

创建一个描述其他列中缺失值的列

汪汪一只猫 2022-07-19 20:14:08
我有一个数据框如下:A,B,C,DNan,NaN,NaN,NaNNan,b,c,NaNNan,2,Nan,da,e,NaN,fi,j,1,NaN我想创建一个描述其他列中缺失模式的列 E,例如:列 E 将包含类似A,B,C,D,ENan,NaN,NaN,NaN,ABCDNan,1,2,NaN,ADNan,3,Nan,d,ACa,e,NaN,6,Ci,j,4,5,我试过df.isnull().sum(axis=1) 了,但这不考虑例如第 4 行和第 5 行中的顺序,它返回相同的值 1。如上所述,如何创建我想要的列?
查看完整描述

2 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

这是一种唱歌方式DataFrame.dot:


df['E'] = df.isna().dot(df.columns)


print(df)


    A    B    C    D     E

0  NaN  NaN  NaN  NaN  ABCD

1  NaN    b    c  NaN    AD

2  NaN    2  NaN    d    AC

3    a    e  NaN    f     C

4    i    j    1  NaN     D


查看完整回答
反对 回复 2022-07-19
?
慕村9548890

TA贡献1884条经验 获得超4个赞

mapIIUC我们可以agg


df["null"] = (

    df.isnull()

    .apply(lambda x: x.map({True: x.name}))

    .stack(0)

    .groupby(level=0)

    .agg("".join)

)

print(df)


     A    B    C    D  null

0  NaN  NaN  NaN  NaN  ABCD

1  NaN    b    c  NaN    AD

2  NaN    2  NaN    d    AC

3    a    e  NaN    f     C

4    i    j    1  NaN     D


查看完整回答
反对 回复 2022-07-19
  • 2 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信