大数据最全Pandas - 数据分组统计_pandas分组计数,2024年最新看完吊打面试官

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

示例2:

按照图书“一级分类”和“二级分类”对订单数据进行分组统计求和

import pandas as pd  #导入pandas模块
df=pd.read_csv('JD.csv',encoding='gbk')
#抽取数据
df1=df[['一级分类','二级分类','7天点击量','订单预定']]
df2=df1.groupby(['一级分类','二级分类']).sum()    #分组统计求和

示例3:

求各二级分类的七天点击量。首先按“二级分类”分类,而后进行分组统计求和。

df1 = df1.groupby('二级分类')['七天点击量'].sum()

2.对分组数据进行迭代

示例1:

按照“一级分类”分组,并且输出每一分类中的订单数据

# 抽取数据
df1 = df[['一级分类',‘七天点击量’,‘订单预定’]]
for name, group in df.groupby('一级分类')
    print(name)
    print(group)

其中name是‘一级分类’, group是其他数据。因此使用groupby()函数对多列进行分组,那么需要在for循环中指定多列。

3.对分组的某列或多列使用聚合函数

Python也可以实现像SQL中的分组聚合运算操作,主要通过groupby()函数与agg()函数实现。

以下代码实现:

1. 以’一级分类’分组,求分组后的平均值与和

2.以’一级分类’分组,求分组后’七天点击量’的平均值与和,求’订单预定’的和

df1.groupby('一级分类').agg(['mean','sum'])

df1.groupby('一级分类').agg({'七天点击量':['mean','sum'],'订单预定':['sum']})

我们可以通过自定义函数实现数组分组统计。书本p110

以下代码实现:

1.统计一月份销售数据中,购买次数最多的产品,及其人均购买数,人均花费,总购买数,总花费。

df = pd.read_excel('1月.xlsx')
max1 = lambda x: x.value_counts(dropna=false).index[0]
df1 = df.agg({'宝贝标题':[max1],
              '数量':['sum','mean'],
              '卖家实际支付金额':['sum','mean']})
print(df1)

4.通过字典和Series对象进行分组统计

1.通过字典进行分组统计

创建字典,df.groupby()函数通过字典内信息分组。

import pandas as pd  #导入pandas模块
#解决数据输出时列名不对齐的问题
pd.set_option('display.unicode.east_asian_width', True)
df=pd.read_csv('JD.csv',encoding='gbk')  #导入csv文件
df=df.set_index(['商品名称'])
#创建字典
mapping={'北京出库销量':'北上广','上海出库销量':'北上广',
         '广州出库销量':'北上广','成都出库销量':'成都',


![img](https://img-blog.csdnimg.cn/img_convert/6253b2d55566f010424b0b025fbf5092.png)
![img](https://img-blog.csdnimg.cn/img_convert/84954221f7044cd627340a229de18dda.png)
![img](https://img-blog.csdnimg.cn/img_convert/2dedf8711cbe42d602f77c5ce0a226ac.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 Pandas 的 `groupby()` 函数可以对数据进行分组。 例如: ``` import pandas as pd # 假设有一个包含多行多列的数据框(DataFrame) df = pd.DataFrame({'A': [1, 1, 2, 2], 'B': [3, 3, 4, 4], 'C': [5, 6, 7, 8]}) # 使用 A 列进行分组 grouped = df.groupby('A') # 对每组数据执行聚合运算(例如求和、平均值等) print(grouped.sum()) print(grouped.mean()) ``` 输出结果如下: ``` B C A 1 6 11 2 8 15 A B C 1 3.000000 5.500000 2 4.000000 7.000000 ``` 上面的代码将数据框按 A 列的值进行了分组,然后对每组数据分别求和和平均值。你也可以使用其他聚合运算,例如 `min()`、`max()`、`count()` 等。 希望这对你有帮助! ### 回答2: pandas是一个功能强大的Python数据分析库,可以方便地对数据进行处理和分析。其中的分组功能可以帮助我们对数据进行分组后的统计操作。 分组数据统计可以实现多种不同的功能,比如计算每个分组的总和、平均值、最大值、最小值等等。下面是使用pandas进行分组数据统计的基本步骤: 1. 导入pandas库:首先,我们需要导入pandas库,可以使用以下代码: ```python import pandas as pd ``` 2. 读取数据:接下来,我们需要读取要进行分组统计数据。可以使用pandas提供的`read_csv()`函数进行数据的读取: ```python df = pd.read_csv('data.csv') ``` 3. 分组数据:使用pandas的`groupby()`函数进行数据分组,可以根据某一列或多列的值进行分组。下面是根据某一列的值进行分组的示例: ```python grouped_data = df.groupby('column_name') ``` 4. 统计数据分组成后,我们可以对分组后的数据进行各种统计操作。比如,可以计算每个分组的总和、平均值、最大值、最小值等。下面是计算每个分组的平均值的示例: ```python average_data = grouped_data.mean() ``` 5. 查看结果:最后,我们可以使用`print()`函数或者其他方式查看分组统计的结果: ```python print(average_data) ``` 以上就是使用pandas进行分组数据统计的基本步骤。通过pandas分组功能,我们可以方便地对数据进行分组后的统计操作,从而更好地理解和分析数据。 ### 回答3: Pandas分组数据统计是指使用Pandas库中的groupby函数将数据按照指定的列进行分组,并对每个组进行统计分析的操作。 在Pandas中,我们可以使用groupby函数将数据按照某一列或多列进行分组,形成一个分组对象。然后,我们可以对分组对象进行各种统计操作,比如计算均值、求和、计数等。 例如,我们有一个包含学生姓名、班级和成绩的数据集,我们可以使用groupby函数将数据按照班级进行分组: grouped_data = data.groupby('班级') 然后,我们可以对分组后的数据进行统计分析。比如,我们可以计算每个班级的平均成绩: average_score = grouped_data['成绩'].mean() 我们还可以计算每个班级的总分: total_score = grouped_data['成绩'].sum() 除了常见的统计函数,Pandas还提供了许多其他的函数,可以对分组对象进行更细致的统计分析。比如,我们可以使用describe函数计算每个班级的成绩的五数概括: score_summary = grouped_data['成绩'].describe() 这样我们就可以得到每个班级的最小值、最大值、均值、标准差等统计指标。 总之,Pandas分组数据统计功能可以帮助我们快速对数据进行分组,并成各种统计分析。它极大地简化了数据统计和分析的过程,提高了数据处理的效率和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值