嗨,我有一個帶有布林值的資料框:

我想把它轉換成另一個資料框:

a、b 和 c 是第一個資料幀的列。
uj5u.com熱心網友回復:
使用GroupBy.cumcount,重塑DataFrame.melt,僅過濾Trues 并旋轉DataFrame.pivot_table:
df['g'] = df.groupby(level=0).cumcount()
df = df.melt('g', ignore_index=False)
df = (df[df['value']]
.reset_index()
.pivot_table(index='index', columns='g', values='variable', aggfunc=' '.join)
.rename_axis(index=None, columns=None))
print (df)
0 1 2
1 b c b c NaN
2 b NaN NaN
3 a b c a c a
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/381292.html
