2017-07-15 70 views
-1

我有DF是類似於以下內容:熊貓,編輯數據幀

value is_1 is_2 is_3 
5  0  1 0 
7  0  0 1 
4  1  0 0 

(它有保證,該值從列is_1 ... is_n總和等於1個計算由每行)

我需要得到一個結果:

is_1 is_2 is_3 
0  5  0 
0  0  7 
4  0  0 

(我應該找到列is_k是大於0,且與「值」列值填充)

實現它的最佳方式是什麼?

回答

2

我會做這種方式:

In [16]: df = df.mul(df.pop('value').values, axis=0) 

In [17]: df 
Out[17]: 
    is_1 is_2 is_3 
0  0  5  0 
1  0  0  7 
2  4  0  0