目录
第二章(pandas)
Python从零开始第三章数据处理与分析python中的dplyr(1)
Python从零开始第三章数据处理与分析python中的dplyr(2)
Python从零开始第三章数据处理与分析python中的dplyr(3)
Python从零开始第三章数据处理与分析python中的dplyr(4)
Python从零开始第三章数据处理与分析python中的dplyr(5)
===============================================
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(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
网友评论