将值折叠到左侧,Python /熊猫

时间:2019-01-28 02:36:35

标签: python pandas

我使用的数据集偶尔会删除值,然后再使用它。删除值后,通常会将其替换为我的NaN或”。将值向左折叠的最有效方法是什么?

具体来说,我正试图将其变为:


          1       2        3         4
bill    sjd              meoip  
nick            tredsn              bana
fred    ccrw    aaaa     cretwew    bbbbb
tom                      eomwepo     
jill            dew                 weaedf      

对此:

          1         2      3         4
bill    sjd       meoip     
nick    tredsn    bana      
fred    ccrw      aaaa    cretwew   bbbbb
tom     eomwepo         
jill    dew       weaedf        

列标题无关紧要,唯一重要的是没有前导空单元格,也没有空单元格。

由于df可能很大,我宁愿以非迭代的方式进行此操作。

1 个答案:

答案 0 :(得分:1)

尝试一下,如果这些空格为”,则使用mask到np.nan,否则不需要maskfillna

df.mask(df == '').apply(lambda x: pd.Series(x.dropna().values), axis=1).fillna('')

输出:

           0      1        2     3
bill     sjd  meojp               
nick  tredsn   bana               
fred    ccrw   aaaa  cretwew  bbbb
tom   eomwep                      
jill     dew  weadf