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

在 Python 中的数据框中的行末尾添加特定的列值

在 Python 中的数据框中的行末尾添加特定的列值

慕村225694 2023-02-07 11:08:43
我有如下所示的 Dataframe df:对于每一行,如果第一个找到的列值为 None,则应将其替换为 DataFrame 中的第 2 列值。 ID     1           2      col0      col1      col2      col3     col4     col5 col60 A1    ABC         RED     10        20       None     None     None      None None1 B1    ABC         ORANGE  40        None     None     None     None      None None2 C1    ABC         WHITE   50        34        35       57       78         98 None3 D1    ABC         BLUE    20        None     None     None      None     None None我想要输出:ID       1          col0      col1      col2     col3     col4     col5   col60 A1    ABC        10        20       RED1 B1    ABC        40        ORANGE2 C1    ABC        50        34        35       57       78         98  WHITE3 D1    ABC        20        BLUE
查看完整描述

1 回答

?
慕莱坞森

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

想法是用 limit 参数向前填充非缺失值,测试非缺失值并用测试缺失值链 - 所以掩码只匹配s 用于从列中None追加值,最后用空字符串替换 s :2DataFrame.maskDataFrame.popNoneDataFrame.fillna

m = df.ffill(axis=1, limit=1).notna() & df.isna()

df = df.mask(m, df.pop(2), axis=0).fillna('')print (df)
   ID    1  col0    col1 col2 col3 col4 col5   col60  A1  ABC    10      20  RED                      
1  B1  ABC    40  ORANGE                           
2  C1  ABC    50      34   35   57   78   98  WHITE3  D1  ABC    20    BLUE



查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

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