熊猫具有多种功能(pd.series和其他)

时间:2020-11-06 16:39:11

标签: python pandas dataframe apply

经过一些转换后,我的df看起来像这样。

            date    2010-01-01  2010-01-08  2010-01-15  2010-01-22  2010-01-29  2010-02-05  2010-02-12  2010-02-19  2010-02-26  2010-03-05  ... 2020-08-28  2020-09-04  2020-09-11  2020-09-18  2020-09-25  2020-10-02  2020-10-09  2020-10-16  2020-10-23  2020-10-30
gestionnaire    nom_de_produit  code_isin_part  classification_produit                                                                                  
ACTIS ASSET MANAGEMENT  ALTERNA PLUS    FR0010466128    Sans classification 11.29   11.49   11.51   11.44   11.37   11.29   11.29   11.35   11.38   11.51   ... 15.87   15.84   15.87   15.86   15.72   15.77   15.88   15.91   15.95   15.75
GTA FRANCE  FR0010602615    Actions de pays de la zone euro 81.71   84.26   82.78   80.31   78.50   74.93   75.27   78.89   77.70   81.22   ... 127.12  124.41  126.55  126.78  122.47  125.28  127.37  127.91  127.28  120.65
RENTOBLIG   FR0010698472    Obligations et/ou titres de créances libellés en euros  nan 121.69  121.98  121.74  121.32  121.17  120.87  120.73  121.22  121.99  ... 158.62  158.85  158.89  159.00  157.70  158.14  159.56  159.57  160.21  159.44
FR0013180288    Obligations et/ou titres de créances libellés en euros  nan nan nan nan nan nan nan nan nan nan ... 105.32  105.48  105.51  105.59  104.73  105.03  105.98  105.99  106.43  105.92
SCR OPTIMUM FR0012453348    Sans classification nan nan nan nan nan nan nan nan nan nan ... 92,562.20   92,220.46   91,434.86   91,524.37   91,542.14   91,229.36   91,226.54   91,123.66   92,072.99   91,480.94
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
TRUSTEAM FINANCE    TRUSTEAM ROC EUROPE FR0011507219    Actions des pays de l'Union Européenne  nan nan nan nan nan nan nan nan nan nan ... nan nan nan nan nan nan nan nan nan nan
FR0011896430    Actions des pays de l'Union Européenne  nan nan nan nan nan nan nan nan nan nan ... 197.71  191.56  193.59  197.04  194.41  199.31  201.71  203.33  197.97  190.02
FR0013281185    Actions des pays de l'Union Européenne  nan nan nan nan nan nan nan nan nan nan ... 191.65  185.65  187.59  190.90  188.31  193.02  195.31  196.84  191.61  183.89
TRUSTEAM ROC FLEX   FR0007018239    Sans classification 178.11  179.38  179.51  177.38  175.57  174.82  174.81  175.79  175.43  177.50  ... 227.48  228.16  228.81  228.20  226.08  227.64  230.02  230.21  230.49  227.22
TRUSTEAM ROC PME    FR0010220038    Actions de pays de la zone euro 87.59   89.57   90.00   89.82   90.08   88.22   88.30   88.64   88.69   90.75   ... 181.93  183.06  186.22  186.15  178.61  182.79  187.55  184.17  185.64  

我想计算日历性能和其他统计信息。为此,我这样做:

df.apply([
             lambda x: pd.Series([100*x[year].iloc[-1]/x[year].iloc[0] - 100 for year in pd.date_range(start='2015', end='2021', freq='A').strftime('%Y')]),
         ],
             axis=1)
         )

没关系。

但是当我添加时:

df.apply([lambda x: pd.Series([100*x[year].iloc[-1]/x[year].iloc[0] - 100 for year in pd.date_range(start='2015', end='2021', freq='A').strftime('%Y')]),
             lambda x: 100*x[-1]/x[-52]-100 
         ],
             axis=1)
         )

我收到一条错误消息:

ValueError: cannot combine transform and aggregation operations

有什么想法吗?

0 个答案:

没有答案