pandas 聚合处理字符串,groupby, agg

博客主要讲述了使用pandas将属于同一个key的另一列字符串进行合并的内容,重点围绕pandas在字符串合并方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas将属于同一个key的另一列字符串进行合并

data2 = data2.groupby('url',as_index=False)['type'].agg(lambda x: x.str.cat(sep=','))

结果显示:

  url   type
0  a     函电
1  b  原文,活动
2  c     活动
3  d  原文,会议
4  e     会议
### Pandas Group By Agg 函数使用方法 在处理数据集时,`pandas` 提供了强大的 `groupby()` 方法来实现分组操作。通过与 `agg()` 函数结合,可以方便地对不同列应用多种聚合计算。 #### 基本语法结构 对于 DataFrame 对象执行 `groupby()` 后的结果可以直接调用 `agg()` 来指定要使用的统计函数: ```python df.groupby('column_name').agg({'other_column': 'function'}) ``` 这里 `'function'` 可以是内置的字符串表示形式如 `'sum', 'mean', 'count'` 或者自定义 Python 函数[^1]。 #### 多种聚合方式的应用实例 当需要在同一时间针对多个字段进行不同类型的操作时,可以通过传递字典给 `agg()` 实现复杂需求: ```python import pandas as pd import numpy as np # 创建示例DataFrame np.random.seed(0) df = pd.DataFrame({ 'A': ['foo', 'bar', 'foo', 'bar'] * 3, 'B': ['one', 'two', 'three'] * 4, 'C': np.random.randn(12), 'D': np.random.randint(-1, high=7, size=12) }) result = df.groupby(['A','B']).agg( {'C':'mean', 'D':['min', lambda x: max(x)-min(x)]} ) print(result) ``` 上述代码片段展示了如何基于两列创建组合键来进行分组,并分别求取均值以及最大最小差值等多维度分析指标. #### 使用匿名函数增强灵活性 除了标准库中的聚合函数外,还可以利用 Lambda 表达式来自定义特定逻辑,在某些情况下这会带来更大的便利性和表达力: ```python custom_agg = { 'C': ('average', lambda x: sum(x)/len(x)), 'D': [('range_diff', lambda y: max(y) - min(y))] } new_result = df.groupby('A').agg(**custom_agg) print(new_result) ``` 这段代码说明了怎样命名返回系列并同时计算两个不同的聚合结果.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值