2

以下のようなデータフレームがあります。

Sample    P1    P2    P3
A         0.25  0.5   0.25
B         0.25  0     0.25
C         0.25  0.25  0

P 列がゼロに等しくない場合にのみ選択的に乗算し、乗算された値の 5 番目の列を出力できるようにしたいと考えています。次のようになります。

Sample    P1    P2    P3    Multiplied
A         0.25  0.5   0.25  0.03125
B         0.25  0     0.25  0.0625
C         0.25  0.25  0     0.0625

このためのコードの書き方がよくわかりません。これに対するアドバイスはありますか?

4

2 に答える 2

4

代替手段を捨てるだけです(prodDataFrameメソッドを使用できます):

In [11]: df['multiplied'] = df[df != 0].prod(axis=1)

In [12]: df
Out[12]: 
          P1    P2    P3  multiplied
Sample                              
A       0.25  0.50  0.25     0.03125
B       0.25  0.00  0.25     0.06250
C       0.25  0.25  0.00     0.06250
于 2013-08-01T20:42:33.293 に答える