我正在洗心革面,我一辈子都想不出一个简单的方法来将输入转化为输出,任何帮助都将不胜感激.
输入:
level1 | level2 | level3 | level4 |
---|---|---|---|
4 | 2 | 1 | NaN |
2 | 1 | NaN | NaN |
输出:
level1 | level2 | level3 | level4 |
---|---|---|---|
1 | 2 | 4 | NaN |
1 | 2 | NaN | NaN |
谢谢
我正在洗心革面,我一辈子都想不出一个简单的方法来将输入转化为输出,任何帮助都将不胜感激.
输入:
level1 | level2 | level3 | level4 |
---|---|---|---|
4 | 2 | 1 | NaN |
2 | 1 | NaN | NaN |
输出:
level1 | level2 | level3 | level4 |
---|---|---|---|
1 | 2 | 4 | NaN |
1 | 2 | NaN | NaN |
谢谢
下面是一种使用重新索引的方法:
(df
.apply(lambda s: s.dropna()[::-1].reset_index(drop=True), axis=1)
.reindex(columns=range(df.shape[1]))
.set_axis(df.columns, axis=1)
)
输出:
level1 level2 level3 level4
0 1.0 2.0 4.0 NaN
1 1.0 2.0 NaN NaN