I have a DataFrame like :
0 1 2 0 0.0 1.0 2.0 1 NaN 1.0 2.0 2 NaN NaN 2.0
What I want to get is
Your best easiest option is to use sorted on df.apply/df.transform and sort by nullity.
sorted
df.apply/df.transform
df = df.apply(lambda x: sorted(x, key=pd.isnull), 1) df 0 1 2 0 0.0 1.0 2.0 1 1.0 2.0 NaN 2 2.0 NaN NaN
You may also pass np.isnan to the key argument.
np.isnan
key