向左折叠值,Python/Pandas

向左折叠值,Python/Pandas,python,pandas,Python,Pandas,我使用的数据集有时会在我动手之前删除值。删除某个值时,通常会将其替换为my NaN或“”。将值向左折叠的最有效方法是什么 具体来说,我正试图扭转这一局面: 1 2 3 4 bill sjd meoip nick tredsn bana fred ccrw aaaa cretwew bbbbb tom

我使用的数据集有时会在我动手之前删除值。删除某个值时,通常会将其替换为my 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可能相当大。

尝试此操作,如果这些空格为“”,则使用mask to np.nan,否则您不需要
mask
fillna

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               

请张贴代码和数据,而不是这些图片。