2017-08-03 16 views
1

ここでは質問をMapping row-wise sorted dataframe to original column labels (Pandas)としたが、この列インデックスを対応する値0より大きい元の列ラベル(パンダ)に行単位でソートされたデータフレームをマッピングするが、ゼロより大きい値を持つもののみ

だった私は、データフレームを持っています -

df 
    A B C D 
0 8 3 6 2 
1 1 -3 5 2 
2 4 9 5 10 
3 2 -4 -8 -2 

I降順でソートすべての行、代わりに値を保存する、私は、対応する列の名前を保存、しかし条件とそれらのこと対応する値が負である列名は除外されます。

最終結果である:

df_col 
     1 2 3 4 
    0 A C B D 
    1 C D A 
    2 D B C A 
    3 A 

答えて

1

あなたが使用することができます。x.sort_values(昇順= False)が.INDEX、軸:

df = df.apply(lambda x: pd.Series(x[x > 0].sort_values(ascending=False).index), axis=1) 
print (df) 
    0 1 2 3 
0 A C B D 
1 C D A NaN 
2 D B C A 
3 A NaN NaN NaN 
+1

あなたは 'df.apply(ラムダXを追加することもできます= 1) 'をhttps://stackoverflow.com/q/45463536/2137255の回答として使用しますか? – Zero

+0

@JohnGalt - ありがとう、私はそれを行う。 – jezrael

+0

JohnとJezraelさんありがとうございました。とても有難い。 –

関連する問題