前言
对于聚合,指的是任何能够从数组产生标量值的数据转换过程。
许多常见的聚合运算(如表9-1所示)都有就地计算数据集统计信息的优化实现。然而,并不是只能使用这些方法。可以使用自己发明的聚合运算,还可以调用分组对象上已经定义好的任何方法。
调用现有函数进行聚合运算
举例:使用quantile计算Series或DataFrame列的样本分位数。
分析:虽然quantile并没有明确地实现于GroupBy,但它是一个Series方法,所以这里是能用的。实际上,GroupBy会高校地对Series进行切片,然后对各片调用),最后将这些结果组装成最终结果。
使用自己的聚合函数
如果要使用自己的聚合函数,只需将其传入aggregate或agg方法即可:
In [18]: def peak_to_peak(arr):
...: return arr.max()
...:
In [19]: grou(peak_to_peak)
Out[19]:
data1 data2
key1
a 1.874977 1.498612
b 2.237080 0.569494
其他方法的使用
注意,有些方法(如describe)也是可以用在这里的,即使严格来讲,它们并非聚合运算:
In [20]: grou()
Out[20]:
data1 ... data2
count mean std ... 50% 75% max
key1 ...
a 3.0 0.460594 0.957985 ... -0.464503 -0.233841 -0.003179
b 2.0 -0.081939 1.581855 ... 0.444932 0.587306 0.729679
[2 rows x 16 columns]
注意:可能已经注意到,自定义聚合函数要比表9-1中那些经过优化的函数慢得多。这是因为在构造中间分组数据块时存在非常大的开销(函数调用、数据重排等)。
添加列
通过read_csv加载文件后,添加一个表示小费比例的列tip_pct:
In [71]: tips=(r'C:\Users\lpt20\Desktop\aa\')
In [72]: tips['tip_pct']=tips['tip'] / tips['total_bill']
In [76]: tips[:6]
Out[76]:
total_bill tip smoker day time size tip_pct
0 16.99 1.01 No Sun Dinner 2 0.059447
1 10.34 1.66 No Sun Dinner 3 0.160542
2 21.01 3.50 No Sun Dinner 3 0.166587
3 23.68 3.31 No Sun Dinner 2 0.139780
4 24.59 3.61 No Sun Dinner 4 0.146808
5 25.29 4.71 No Sun Dinner 4 0.186240
1.《(聚合数据如何使用教程)聚合助手使用教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《(聚合数据如何使用教程)聚合助手使用教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3353142.html