Python group()小结

今天看到group()方法,有点疑惑,自己动手了解了一下。

举例如下:

import re
a = "123abc456"
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0)   #123abc456,返回整体
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).groups()   #['123','abc','456']
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1)   #123
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2)   #abc
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3)   #456

一开始我理解为group(n)(n=1,2,3)会根据括号里的正则表达式进行匹配,每次都是从字符串a的起始位置开始,会自动匹配到‘123’,‘abc’,‘123’。但是结果让我感到不对,后来想了想,应该是search()里的三个正则表达式是有顺序的,只能依次执行,不是每次都从开始执行。这样就能解释通过了。

引用\[1\]中的示例代码展示了如何使用groupby和agg函数对DataFrame进行分组和聚合操作。在这个例子中,使用groupby('A')对DataFrame按照列'A'进行分组,然后对不同的列'B'和'C'采用不同的聚合方法,其中'B'列使用了np.mean和np.sum方法,'C'列使用了'count'和np.std方法。最后的结果是每个分组的聚合结果。\[1\] 引用\[2\]中的示例代码展示了如何使用groupby和agg函数对DataFrame进行分组和聚合操作。在这个例子中,使用groupby('A')对DataFrame按照列'A'进行分组,然后对另外一列'B'采用不同的聚合方法,其中使用了np.mean和np.std方法。最后的结果是每个分组的聚合结果。\[2\] 根据你的问题,你想知道如何使用groupby和agg函数计算count。你可以使用groupby函数指定要分组的列,然后使用agg函数指定要对哪一列进行计算。在你的示例中,你可以使用df.groupby('A')\['B'\].agg('count')来计算列'B'的计数。这将返回每个分组中列'B'的计数结果。\[3\] #### 引用[.reference_title] - *1* *2* [python分组函数groupby和分组运算函数agg小结](https://blog.youkuaiyun.com/weixin_37536446/article/details/82109431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python pandas中groupby()的使用,sum和count](https://blog.youkuaiyun.com/qq_39290990/article/details/121435796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值