2017-03-15 8 views
1

私はこのようになりますテーブルがあるとパンダに複数の証券のストリーム:リターンは

Ticker Date  ClosingPrice 
0 A  01-02-2010 11.4 
1 A  01-03-2010 11.5 
      ... 
1000 AAPL 01-02-2010 634 
1001 AAPL 01-02-2010 635 

だから、他の言葉で、私たちは時系列の順序が一緒にティッカーシンボル当たり1スプライスされています。さて、私は毎日の返品の列を生成したいと思います。もし私が1つのシンボルしか持っていなかったら、パンダpct_change()の関数では非常に簡単ですが、上記のように複数の時系列に対してどのようにするのですか?(私はグループのシーケンスを行い、各データフレームを作り、 pd.concat()と一緒にそれらすべてを継ぐが、それが最適なようではありません。

答えて

1

使用groupby

df.set_index(['Ticker', 'Date']).ClosingPrice.groupby(level=0).pct_change() 

Ticker Date  
A  01-02-2010   NaN 
     01-03-2010 0.008772 
AAPL 01-02-2010   NaN 
     01-02-2010 0.001577 
Name: ClosingPrice, dtype: float64 
+1

本当にあなたは科学の方法で賢明です... –

+0

@IgorRivinはありがとうございます。私は助けることがうれしいです。 – piRSquared