3
我有這個foll。據幀:根據往年數據計算大熊貓數據幀行的百分位數
datetime JD YEAR VAL
2000-01-01 1 2000 0.5
2000-01-02 2 2000 1.2
2000-01-03 3 2000 2.1
2000-01-04 4 2000 3.4
2000-01-05 5 2000 4.6
2000-01-06 6 2000 6.8
2000-01-07 7 2000 7.2
2000-01-08 8 2000 0.2
2000-01-09 9 2000 0.9
...
2010-12-31 365 2014 4.1
第一年是2000,去年是2010年有沒有閏年(即對應於2月29日沒有行),日期時間是索引列。
我想計算一個新的數據框,從2010年1月1日到2010年12月31日。我希望它包含一個計算2010年1月1日值(VAL)百分位數的列,該數組由10個值組成(2000年1月1日,2001年1月1日... 2009年1月1日)。同樣,2010年1月2日與前幾年的1月2日進行比較....
lyr = df.YEAR.max() # last year i.e. 2010
cdf = df[df.YEAR == lyr]# Latest year dataframe
pdf = df[df.index.year < lyr] # Previous years dataframe
pdf.groupby('JD')['VAL']
stats.percentileofscore(pdf['VAL'], cdf['VAL'])
但是,我不知道如何讓代碼工作。 groupby只返回組,而我需要一個值列表。