Pandas入门之十二:聚合函数
已信任 Jupyter 服务器: 本地 Python 3: Not Started [1] import pandas as pd import numpy as np [6] df = pd.DataFrame(np.random.randn(10,4), index=pd.date_range('20210714',periods=10),columns=['A','B','C','D']) df A B C D 2021-07-14 0.059959 0.362997 -0.448651 -0.769695 2021-07-15 -1.877178 -1.039655 -0.626739 0.496913 2021-07-16 -0.180297 0.076142 0.204801 -1.294938 2021-07-17 -0.134805 -0.520249 -0.090241 0.077699 2021-07-18 1.923701 1.251582 1.056877 1.729408 2021-07-19 0.380681 -0.306409 0.144310 -0.454758 2021-07-20 -0.555998 1.655773 0.685202 0.327272 2021-07-21 1.602570 0.307256 -0.327326 0.007158 2021-07-22 0.475824 -0.364292 0.054033 -0.933068 2021-07-23 1.714851 0.889403 0.003356 0.008544 [7] df.rolling(window=3).aggregate(np.sum)# 使聚合到一起的3条数据,求和 A B C D 2021-07-14 NaN NaN NaN NaN 2021-07-15 NaN NaN NaN NaN 2021-07-16 -1.997517 -0.600516 -0.870589 -1.567720 2021-07-17 -2.192281 -1.483762 -0.512178 -0.720326 2021-07-18 1.608598 0.807474 1.171438 0.512169 2021-07-19 2.169577 0.424924 1.110947 1.352348 2021-07-20 1.748385 2.600946 1.886390 1.601921 2021-07-21 1.427254 1.656620 0.502186 -0.120328 2021-07-22 1.522396 1.598737 0.411909 -0.598638 2021-07-23 3.793245 0.832366 -0.269937 -0.917366 [8] r = df.rolling(window=3) r[['A','B']].aggregate(np.max) A B 2021-07-14 NaN NaN 2021-07-15 NaN NaN 2021-07-16 0.059959 0.362997 2021-07-17 -0.134805 0.076142 2021-07-18 1.923701 1.251582 2021-07-19 1.923701 1.251582 2021-07-20 1.923701 1.655773 2021-07-21 1.602570 1.655773 2021-07-22 1.602570 1.655773 2021-07-23 1.714851 0.889403 [9] r[['A','B']].aggregate([np.max,np.min]) A B amax amin amax amin 2021-07-14 NaN NaN NaN NaN 2021-07-15 NaN NaN NaN NaN 2021-07-16 0.059959 -1.877178 0.362997 -1.039655 2021-07-17 -0.134805 -1.877178 0.076142 -1.039655 2021-07-18 1.923701 -0.180297 1.251582 -0.520249 2021-07-19 1.923701 -0.134805 1.251582 -0.520249 2021-07-20 1.923701 -0.555998 1.655773 -0.306409 2021-07-21 1.602570 -0.555998 1.655773 -0.306409 2021-07-22 1.602570 -0.555998 1.655773 -0.364292 2021-07-23 1.714851 0.475824 0.889403 -0.364292 [10] r['A','B'].aggregate({'A':np.min,'B':np.max})# 分别使用聚合函数 A B 2021-07-14 NaN NaN 2021-07-15 NaN NaN 2021-07-16 -1.877178 0.362997 2021-07-17 -1.877178 0.076142 2021-07-18 -0.180297 1.251582 2021-07-19 -0.134805 1.251582 2021-07-20 -0.555998 1.655773 2021-07-21 -0.555998 1.655773 2021-07-22 -0.555998 1.655773 2021-07-23 0.475824 0.889403 [-]