美文网首页Python中文社区呆鸟的Python数据分析
Python从零开始第三章数据处理与分析python中的dply

Python从零开始第三章数据处理与分析python中的dply

作者: 柳叶刀与小鼠标 | 来源:发表于2019-01-02 02:22 被阅读119次

    目录

    第二章(pandas)

    Python从零开始第三章数据处理与分析python中的dplyr(1)
    Python从零开始第三章数据处理与分析python中的dplyr(2)
    Python从零开始第三章数据处理与分析python中的dplyr(3)
    Python从零开始第三章数据处理与分析python中的dplyr(4)
    Python从零开始第三章数据处理与分析python中的dplyr(5)

    ===============================================

    • summarize()函数

    summarize可以接受任意数量的关键字参数,这些参数将返回标有键的新列,这些键是原始DataFrame中列的汇总函数。

    diamonds >> summarize(price_mean=X.price.mean(), price_std=X.price.std())
    
        price_mean    price_std
    0  3932.799722  3989.439738
    

    通过这一步可以很简单求得price列的平均值与标准差

    summarize() 可以很好的搭配group_by函数

    diamonds >> group_by('cut') >> summarize(price_mean=X.price.mean(), price_std=X.price.std())
    
             cut   price_mean    price_std
    0       Fair  4358.757764  3560.386612
    1       Good  3928.864452  3681.589584
    2      Ideal  3457.541970  3808.401172
    3    Premium  4584.257704  4349.204961
    4  Very Good  3981.759891  3935.862161
    

    通过这一步可以求得cut列每一类的各自的平均值与标准差

    • summarize_each()函数

    summarize_each(function_list, *columns)更常用,它可以比较方便的计算数据框中的列的一些属性。

    diamonds >> summarize_each([np.mean, np.var], X.price, 'depth')
    
        price_mean     price_var  depth_mean  depth_var
    0  3932.799722  1.591533e+07   61.749405   2.052366
    

    summarize_each() 同样可以与group_by连用。

    diamonds >> group_by(X.cut) >> summarize_each([np.mean, np.var], X.price, 4)
    
             cut   price_mean     price_var  depth_mean  depth_var
    0       Fair  4358.757764  1.266848e+07   64.041677  13.266319
    1       Good  3928.864452  1.355134e+07   62.365879   4.705224
    2      Ideal  3457.541970  1.450325e+07   61.709401   0.516274
    3    Premium  4584.257704  1.891421e+07   61.264673   1.342755
    4  Very Good  3981.759891  1.548973e+07   61.818275   1.900466
    
    • lead()和lag()函数

    lead(series,n)函数向上推动向量中的值,在末尾位置添加NaN值。 同样,lag函数向下推动值,在初始位置插入NaN值。

    (diamonds >> mutate(price_lead=lead(X.price, 2), price_lag=lag(X.price, 2)) >>
                select(X.price, -2, -1) >>
                head(6))
    
        price  price_lag  price_lead
     0    326        NaN       327.0
     1    326        NaN       334.0
     2    327      326.0       335.0
     3    334      326.0       336.0
     4    335      327.0       336.0
     5    336      334.0       337.0
    
    • between() 函数

    between函数检查值是否在两个给定的范围之间。

    diamonds >> select(X.price) >> mutate(price_btwn=between(X.price, 330, 340)) >> head(6)
    
       price price_btwn
    0    326      False
    1    326      False
    2    327      False
    3    334       True
    4    335       True
    5    336       True
    
    • dense_rank() 函数

    计算重复的排序值或者秩

    diamonds >> select(X.price) >> mutate(price_drank=dense_rank(X.price)) >> head(6)
    
       price  price_drank
    0    326          1.0
    1    326          1.0
    2    327          2.0
    3    334          3.0
    4    335          4.0
    5    336          5.0
    
    • min_rank() 函数

    类似于dense_rank() 函数,但两者有区别

    diamonds >> select(X.price) >> mutate(price_mrank=min_rank(X.price)) >> head(6)
    
    price  price_mrank
    0    326          1.0
    1    326          1.0
    2    327          3.0
    3    334          4.0
    4    335          5.0
    5    336          6.0
    
    • cumsum() 函数

    cumsum() 函数计算列的累积和。

    diamonds >> select(X.price) >> mutate(price_cumsum=cumsum(X.price)) >> head(6)
    
       price  price_cumsum
    0    326           326
    1    326           652
    2    327           979
    3    334          1313
    4    335          1648
    5    336          1984
    
    • cummean() 函数

    cummean() 函数计算列的累积平均值。

    diamonds >> select(X.price) >> mutate(price_cummean=cummean(X.price)) >> head(6)
    
       price  price_cummean
    0    326     326.000000
    1    326     326.000000
    2    327     326.333333
    3    334     328.250000
    4    335     329.600000
    5    336     330.666667
    
    • cummax() 函数

    cummax() 函数计算列的累积最大值。

    diamonds >> select(X.price) >> mutate(price_cummax=cummax(X.price)) >> head(6)
    
       price  price_cummax
    0    326         326.0
    1    326         326.0
    2    327         327.0
    3    334         334.0
    4    335         335.0
    5    336         336.0
    
    • cummin() 函数

    cummin() 函数计算列的累积最小值。

    diamonds >> select(X.price) >> mutate(price_cummin=cummin(X.price)) >> head(6)
    
       price  price_cummin
    0    326         326.0
    1    326         326.0
    2    327         326.0
    3    334         326.0
    4    335         326.0
    5    336         326.0
    
    • cumprod() 函数

    cumprod() 函数计算列的累积乘积。

    diamonds >> select(X.price) >> mutate(price_cumprod=cumprod(X.price)) >> head(6)
    
       price     price_cumprod
    0    326               326
    1    326            106276
    2    327          34752252
    3    334       11607252168
    4    335     3888429476280
    5    336  1306512304030080
    

    相关文章

      网友评论

        本文标题:Python从零开始第三章数据处理与分析python中的dply

        本文链接:https://www.haomeiwen.com/subject/eglalqtx.html