Python中怎么处理大数据

本篇文章为大家展示了Python中怎么处理大数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联是一家集网站建设,丰宁企业网站建设,丰宁品牌网站建设,网站定制,丰宁网站建设报价,网络营销,网络优化,丰宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

import pandas as pd import collections df = pd.read_excel("D:/Download/chrome/sample-salesv3.xlsx") #print (df.head(10)) df["date"] = pd.to_datetime(df["date"]) # print (df.head(10)) df1 = df.set_index("date").resample("M")['ext price'].sum() # print(df1.head())
Python中怎么处理大数据

统计每个用户每个月"ext price"这个属性的sum值,利用Grouper

df2 = df.groupby(["name",pd.Grouper(key = "date",freq="M")])["ext price"] print(df2.head(10))
Python中怎么处理大数据

Agg

agg函数,它提供基于列的聚合操作。而groupby可以看做是基于行,或者说index的聚合操作。

从实现上看,groupby返回的是一个DataFrameGroupBy结构,这个结构必须调用聚合函数(如sum)之后,才会得到结构为Series的数据结果。

而agg是DataFrame的直接方法,返回的也是一个DataFrame。当然,很多功能用sum、mean等等也可以实现。但是agg更加简洁,  而且传给它的函数可以是字符串,也可以自定义,参数是column对应的子DataFrame

获取"ext price","quantity","unit price"3列的各自的累计值和均值

df3 = df[["ext price","quantity","unit price"]].agg(["sum","mean"]) print(df3.head())
Python中怎么处理大数据

可以针对不同的列使用不同的聚合函数

df4 = df.agg({"ext price":["sum","mean"],"quantity":["sum","mean"],"unit price":["mean"]}) print(df4.head())
Python中怎么处理大数据

也可以自定义函数,比如,统计sku中,购买次数最多的产品编号,通过lambda表达式来做。

#统计sku中,购买次数最多的产品编号 get_max = lambda x:x.value_counts(dropna=False).index[0] get_max.__name__ = "most frequent" df5 = df.agg({"ext price":["sum","mean"],  "quantity":["sum","mean"],  "unit price":["mean"],  "sku":[get_max]  }) print(df5)
Python中怎么处理大数据

如果希望输出的列按照某个顺序排列,可以使用collections的OrderedDict

agg_dict = {  "ext price":["sum","mean"],  "quantity":["sum","mean"],  "unit price":["mean"],  "sku":[get_max] } #按照列名的长度排序。OrderedDict的顺序是跟插入顺序一致的 df6 = df.agg(collections.OrderedDict(sorted(agg_dict.items(),key=lambda x:len(x[0])))) print(df6)
Python中怎么处理大数据

上述内容就是Python中怎么处理大数据,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。

标题名称:Python中怎么处理大数据
分享网址:https://www.cdcxhl.com/article16/pihddg.html

成都网站建设公司_创新互联,为您提供外贸建站网页设计公司响应式网站网站设计微信公众号自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营