2017-02-08 4 views
0

に異なるなインデックスの結果と私のDFを列を追加:はNaNに

df = pd.DataFrame({'p1_profit': {0: -196.50000000000023, 
     1: -593.73000000000025, 
     2: -712.46000000000026, 
     3: -657.88000000000011, 
     4: -763.18000000000029}, 
    'p2_profit': {0: -634.36999999999989, 
     1: -737.14999999999998, 
     2: 224.41999999999985, 
     3: -697.20000000000005, 
     4: -526.78999999999996}, 
    'p3_profit': {0: 211.32999999999981, 
     1: -155.02000000000021, 
     2: 443.90999999999985, 
     3: -75.320000000000164, 
     4: 276.24999999999989}}) 

私はそれぞれの行の列にわたって、その上p1_profit1の利益を表し、収益性の年の数を、アップ追加します。

ように私は、何かをしようとした:問題は、各np.sign(X)の結果が他の結果と異なる場合があり、独自のインデックスを持っているということです

0 NaN 
2 NaN 
4 NaN 
dtype: float64 

np.sign(df[df.p1_profit > 0].p1_profit) + \ 
np.sign(df[df.p2_profit > 0].p2_profit) + \ 
np.sign(df[df.p3_profit > 0].p3_profit) 

結果np.sign(X)を呼び出します。

row 0には1があり、収益は、収益は0-となります。ブール結果にsumを使用して

row 0: 1 
row 1: 0 
row 2: 2 
row 3: 0 
row 4: 1 
+0

@DSMが更新されました。 – codingknob

+0

@JohnGalt - BINGO!あなたは正しいです。 :-) ありがとうございました。それは完璧に働く。 – codingknob

答えて

2

In [7]: (df > 0).sum(axis=1) 
Out[7]: 
0 1 
1 0 
2 2 
3 0 
4 1 
dtype: int64