我使用的数据集偶尔会删除值,然后再使用它。删除值后,通常会将其替换为我的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可能很大,我宁愿以非迭代的方式进行此操作。
答案 0 :(得分:1)
尝试一下,如果这些空格为”,则使用mask到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