2016-10-05 24 views
0

長さがTのパンダシリーズ[a1、a2、a3、a4、...]がある場合、各値は1日に相当します。毎日、私は歴史的中央値を計算したいと思います。たとえば、最初の日は[a1]の中央値を計算します。 2日目は[a1、a2]の中央値を計算する。 n日目は[a1、a2、...、an]の中央値を計算します。最後に、長さ= Tのシリーズを取得したいと思います。私たちはパンダでこれを行う効率的な方法を持っていますか?ありがとう!シリーズの動的時系列の中央値を計算する

答えて

0

ser

ser = pd.Series(np.random.randint(0, 100, 10)) 

あなたのパンダのバージョンが0.18.0以上である場合には、使用:

ser.expanding().median() 
Out: 
0  0.0 
1 25.0 
2 50.0 
3 36.5 
4 33.0 
5 36.0 
6 33.0 
7 36.0 
8 33.0 
9 36.0 
dtype: float64 

次は、以前のバージョンのためのものであり、非推奨:

pd.expanding_median(ser) 
C:\Anaconda3\envs\p3\lib\site-packages\spyder\utils\ipython\start_kernel.py:1: FutureWarning: pd.expanding_median is deprecated for Series and will be removed in a future version, replace with 
     Series.expanding(min_periods=1).median() 
    # -*- coding: utf-8 -*- 
Out: 
0  0.0 
1 25.0 
2 50.0 
3 36.5 
4 33.0 
5 36.0 
6 33.0 
7 36.0 
8 33.0 
9 36.0 
dtype: float64 
関連する問題