2017-08-05 1 views
-1

は、私は100以上パンダ:すべての列のPCT変更を動的に計算する方法は?

price['AABA_PCT_CHG'] = price.AABA.pct_change() 

     AABA  AAL  AAN AABA_PCT_CHG 
0 16.120001 9.635592 18.836105   NaN 
1 16.400000 8.363149 23.105881  0.017370 
2 16.680000 8.460282 24.892321  0.017073 
3 17.700001 8.829385 28.275263  0.061151 
4 16.549999 8.839100 27.705627  -0.064972 
5 15.040000 8.654548 27.754738  -0.091239 

答えて

1

In [424]: price.pct_change().add_suffix('_PCT_CHG') 
Out[424]: 
    AABA_PCT_CHG AAL_PCT_CHG AAN_PCT_CHG 
0   NaN   NaN   NaN 
1  0.017370 -0.132057  0.226680 
2  0.017073  0.011614  0.077315 
3  0.061151  0.043628  0.135903 
4  -0.064972  0.001100 -0.020146 
5  -0.091239 -0.020879  0.001773 

In [425]: price.join(price.pct_change().add_suffix('_PCT_CHG')) 
Out[425]: 
     AABA  AAL  AAN AABA_PCT_CHG AAL_PCT_CHG AAN_PCT_CHG 
0 16.120001 9.635592 18.836105   NaN   NaN   NaN 
1 16.400000 8.363149 23.105881  0.017370 -0.132057  0.226680 
2 16.680000 8.460282 24.892321  0.017073  0.011614  0.077315 
3 17.700001 8.829385 28.275263  0.061151  0.043628  0.135903 
4 16.549999 8.839100 27.705627  -0.064972  0.001100 -0.020146 
5 15.040000 8.654548 27.754738  -0.091239 -0.020879  0.001773 
+0

のようなデータフレームに適用する...動的AAL、AANのためのすべての列のPCTの変更を取得する方法を、次のコマンドを使用して、次のパンダのDFを得ましたこれは私のpct_changeの目的を解決しますが、すべての列について次のように解決するにはどうすればよいですか? 価格['AABA_LOG_RETURN] = np.log(price.AABA) - np.log(price.AABA.shift(1)) – Shakti

+0

@Shakti質問ごとに1つのスレッドをお願いします。これで問題が解決した場合は、それをマークして新しいものを開いてください。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ - ありがとう - 私は別のポストからそれを考え出した - price.apply(np.log).diff()。add_suffix( '_ LOG_PCT_CHG') – Shakti

関連する問題