擅长:python、mysql、java
<p>使用:</p>
<pre><code>#if necessary convert string `Nan` to missing values
df = df.replace('Nan', np.nan)
df = df.apply(lambda x: x.shift(x.isnull().sum()), axis=1)
print (df)
col_a col_b col_c col_d extra1 extra2 extra3
0 a a a a b c d
1 a a a a b c d
2 NaN a a a b c d
3 NaN a a a b c d
4 NaN NaN a a b c d
5 NaN NaN a a b c d
6 NaN NaN NaN a b c d
7 NaN NaN NaN a b c d
df1 = df.iloc[:, -3:]
df1.insert(0, 'a', df.iloc[:, :-3].add(' ').fillna('').sum(axis=1))
df1.columns = df.columns[:4]
print (df1)
col_a col_b col_c col_d
0 a a a a b c d
1 a a a a b c d
2 a a a b c d
3 a a a b c d
4 a a b c d
5 a a b c d
6 a b c d
7 a b c d
</code></pre>