哪个网站做logo桂林建网站
2026/4/6 21:28:28 网站建设 项目流程
哪个网站做logo,桂林建网站,网站流量攻击,苏州 做网站#x1f4ca; Python数据分析利器#xff1a;深入掌握 Pandas 的 groupby 函数 在进行数据分析时#xff0c;我们经常需要对数据按照某些特征进行分组#xff0c;然后对每组数据进行统计、聚合或转换。Pandas 中的 groupby 函数正是为此而生#xff0c;它是数据分析中最常… Python数据分析利器深入掌握 Pandas 的 groupby 函数在进行数据分析时我们经常需要对数据按照某些特征进行分组然后对每组数据进行统计、聚合或转换。Pandas 中的groupby函数正是为此而生它是数据分析中最常用、最强大的工具之一。今天我们就来系统梳理groupby的常见用法从基础到进阶助你轻松玩转分组分析1️⃣ 一列分组 一列聚合最基础用法假设我们有一个销售数据表包含「城市」和「销售额」两列importpandasaspd dfpd.DataFrame({city:[北京,上海,北京,广州,上海],sales:[100,150,200,120,180]})我们想按城市汇总总销售额resultdf.groupby(city)[sales].sum()print(result)输出city 北京 300 上海 330 广州 120 Name: sales, dtype: int64✅要点groupby(city)按城市分组[sales]选择要聚合的列.sum()是聚合函数也可用 mean、max、count 等2️⃣ 一列分组 多列聚合如果数据包含多列数值比如「销售额」和「利润」dfpd.DataFrame({city:[北京,上海,北京,广州,上海],sales:[100,150,200,120,180],profit:[20,30,40,25,35]})我们可以对多个列同时聚合resultdf.groupby(city)[[sales,profit]].sum()print(result)输出sales profit city 北京 300 60 上海 330 65 广州 120 25 也可以使用agg()实现更灵活的聚合见第4部分。3️⃣ 多列分组 多列聚合当需要按多个维度分组时如「城市」「产品类别」dfpd.DataFrame({city:[北京,北京,上海,上海,北京],category:[A,B,A,B,A],sales:[100,150,200,120,180],profit:[20,30,40,25,35]})resultdf.groupby([city,category])[[sales,profit]].sum()print(result)输出MultiIndexsales profit city category 北京 A 280 55 B 150 30 上海 A 200 40 B 120 25 使用reset_index()可将分组键转为普通列result.reset_index(inplaceTrue)4️⃣ groupby agg自定义聚合方式agg()允许对不同列应用不同的聚合函数甚至多个函数resultdf.groupby(city).agg({sales:sum,profit:[mean,max]})print(result)输出sales profit sum mean max city 北京 330 32.5 35 上海 320 32.5 40✨ 还可以传入自定义函数或 lambdadf.groupby(city).agg({sales:lambdax:x.max()-x.min(),profit:std})5️⃣ groupby transform保留原始结构的分组操作与agg不同transform返回与原 DataFrame相同形状的结果常用于标准化、填充缺失值等场景。例如计算每个城市销售额占该城市总销售额的比例df[sales_ratio]df[sales]/df.groupby(city)[sales].transform(sum)print(df)输出city category sales profit sales_ratio 0 北京 A 100 20 0.303030 1 北京 B 150 30 0.454545 2 上海 A 200 40 0.625000 3 上海 B 120 25 0.375000 4 北京 A 180 35 0.545455✅transform的关键优势不改变原始行数结果可直接作为新列加入原表。 小结场景代码示例特点单列分组单列聚合df.groupby(A)[B].sum()最基础单列分组多列聚合df.groupby(A)[[B,C]].mean()批量处理多列分组多列聚合df.groupby([A,B])[[C,D]].sum()多维分析自定义聚合df.groupby(A).agg({B:sum, C:[mean,max]})灵活强大分组变换df.groupby(A)[B].transform(mean)保持原结构掌握这些groupby技巧你的数据分析效率将大幅提升赶紧在你的项目中试试吧小贴士groupby后默认会丢弃 NaN 分组可通过dropnaFalse保留使用as_indexFalse可避免分组列变成索引结合apply()可实现更复杂的自定义逻辑如果你觉得这篇文章有帮助欢迎点赞、转发让更多人一起学好 Python 数据分析

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询