精华内容
下载资源
问答
  • python 数据分类汇总

    千次阅读 2019-04-22 19:58:00
    import pandas as pdinputfile_1 = "F:\\大论文实验\\数据处理\\贫困人口数据_2015.xlsx" data1 = pd.read_excel(inputfile_1) #数据分组:groupby data1_1 = data1.groupby('贫困户编号')['文化程度'].sum()#...

    STEP1:

    #读取数据:

    import pandas as pd
    inputfile_1 = "F:\\大论文实验\\数据处理\\贫困人口数据_2015.xlsx"

    data1 = pd.read_excel(inputfile_1)

    #数据分组:groupby

    data1_1 = data1.groupby('贫困户编号')['文化程度'].sum()#根据贫困户编号进行分类,计算每一户的文化程度的和

    #利用agg函数

    df[["ext price", "quantity", "unit price"]].agg(['sum', 'mean'])

    参考文章:https://segmentfault.com/a/1190000012394176

    #结合groupby&agg

    data1_1 = data1.groupby(by = '贫困户编号').agg({'文化程度':['sum','mean'],'健康状况':['sum','mean']})


    data1_1 = data1.groupby(by = ['乡镇','性别']).agg({'文化程度':['sum','mean'],'健康状况':['sum','mean']})#组合类别

    转载于:https://www.cnblogs.com/giserqwp/p/10752584.html

    展开全文
  • Python 中使用 loc 函数配合筛选条件来完成筛选功能。配合 sum 和 count 函数还能实现 excel 中 sumif 和 countif 函数的功能。 1)使用“与”条件进行筛选 条件是年龄大于 25 岁,并且城市为 be

    1、按条件筛选(与,或,非)

    为数据筛选,使用与,或,非三个条件配合大于,小于和等于对数据进行筛选,并进行计数和求和。与 excel 中的筛选功能和 countifs 和 sumifs 功能相似。

    Excel 数据目录下提供了“筛选”功能,用于对数据表按不同的条件进行筛选。Python 中使用 loc 函数配合筛选条件来完成筛选功能。配合 sum 和 count 函数还能实现 excel 中 sumif 和 countif 函数的功能。

    1)使用“与”条件进行筛选

    条件是年龄大于 25 岁,并且城市为 beijing。筛选后只有一条数据符合要求。

    1#使用“与”条件进行筛选

    2df_inner.loc[(df_inner[‘age’] > 25) & (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]]

    2)使用“或”条件进行筛选

    年龄大于 25 岁或城市为 beijing。筛选后有 6 条数据符合要求。

    1#使用“或”条件筛选

    2df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort

    3([‘age’])

    3)求和

    在前面的代码后增加 price 字段以及 sum 函数,按筛选后的结果将 price 字段值进行求和,相当于 excel 中 sumifs 的功能。

    1 #对筛选后的数据按 price 字段进行求和

    2 df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’),

    3 [‘id’,‘city’,‘age’,‘category’,‘gender’,‘price’]].sort([‘age’]).price.sum()

    4)使用“非”条件进行筛选

    城市不等于 beijing。符合条件的数据有 4 条。将筛选结果按 id 列进行排序。

    1#使用“非”条件进行筛选

    2df_inner.loc[(df_inner[‘city’]

    != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’])

    在前面的代码后面增加 city 列,并使用 count 函数进行计数。相当于 excel 中的 countifs 函数的功能。

    1#对筛选后的数据按 city 列进行计数

    2df_inner.loc[(df_inner[‘city’]

    != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]).city.count()

    还有一种筛选的方式是用 query 函数。下面是具体的代码和筛选结果。

    1#使用 query 函数进行筛选

    2df_inner.query(‘city == [‘beijing’, ‘shanghai’]’)

    在前面的代码后增加 price 字段和 sum 函数。对筛选后的 price 字段进行求和,相当于 excel 中的 sumifs 函数的功能。

    1 #对筛选后的结果按 price 进行求和

    2 df_inner.query(‘city == [‘beijing’, ‘shanghai’]’).price.sum()

    3 12230

    2、数据汇总

    接下来是对数据进行分类汇总,Excel 中使用分类汇总和数据透视可以按特定维度对数据进行汇总,python 中使用的主要函数是 groupby 和 pivot_table。下面分别介绍这两个函数的使用方法。

    1)分类汇总

    Excel 的数据目录下提供了“分类汇总”功能,可以按指定的字段和汇总方式对数据表进行汇总。Python 中通过 Groupby 函数完成相应的操作,并可以支持多级分类汇总。

    Groupby 是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,groupby 按列名称出现的顺序进行分组。同时要制定分组后的汇总方式,常见的是计数和求和两种。

    1 #对所有列进行计数汇总

    2 df_inner.groupby(‘city’).count()

    可以在 groupby 中设置列名称来对特定的列进行汇总。下面的代码中按城市对 id 字段进行汇总计数。

    1 #对特定的 ID 列进行计数汇总

    2 df_inner.groupby(‘city’)[‘id’].count()

    3 city

    4 beijing 2

    5 guangzhou 1

    6 shanghai 2

    7 shenzhen 1

    8 Name: id, dtype: int64

    在前面的基础上增加第二个列名称,分布对 city 和 size 两个字段进行计数汇总。

    1 #对两个字段进行汇总计数

    2 df_inner.groupby([‘city’,‘size’])[‘id’].count()

    3 city size

    4 beijing A 1

    5 F 1

    6 guangzhou A 1

    7 shanghai A 1

    8 B 1

    9 shenzhen C 1

    10 Name: id, dtype: int64

    除了计数和求和外,还可以对汇总后的数据同时按多个维度进行计算,下面的代码中按城市对 price 字段进行汇总,并分别计算 price 的数量,总金额和平均金额。

    1 #对 city 字段进行汇总并计算 price 的合计和均值。

    2 df_inner.groupby(‘city’)[‘price’].agg([len,np.sum, np.mean])

    2)数据透视

    Excel 中的插入目录下提供“数据透视表”功能对数据表按特定维度进行汇总。Python 中也提供了数据透视表功能。通过 pivot_table 函数实现同样的效果。

    数据透视表也是常用的一种数据分类汇总方式,并且功能上比 groupby 要强大一些。下面的代码中设定 city 为行字段,size 为列字段,price 为值字段。分别计算 price 的数量和金额并且按行与列进行汇总。

    1 #数据透视表

    2pd.pivot_table(df_inner,index=[‘city’],values=[‘price’],columns=[‘size’],aggfunc=[len,np.sum],fill_value=0,margins=True)

    文章来源:网络 版权归原作者所有

    上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

    展开全文
  • 昨天突然发现有一个比较头疼的问题,有一份数据是某一个学校的寝室数据,有不同的维度的分类,总的数据大概有4000数据,需要进行分类,然后按照不同分类维度进行表格制作,最后生成8个文件夹,每个文件夹里面有24个...

    现实的创作来源于生活的灵感!

    项目引入

    昨天突然发现有一个比较头疼的问题,有一份数据是某一个学校的寝室数据,有不同的维度的分类,总的数据大概有4000数据,需要进行分类,然后按照不同分类维度进行表格制作,最后生成8个文件夹,每个文件夹里面有24个表格,这个就是我们这一个程序的最终实现功能。如果我们用Excel筛选需要点很多次,而且需要几个人的配合工作,这样就比较的费力,那么作为数据分析的Python神器,可不可以解决这个问题了,答案是当然可以!

    项目思路

    1.首先对这个大量的数据进行导入,用CSV这个库,然后按照Python的对象进行写入和解析,最后存储在pycharm运行内存空间,方便我们下一步操作。
    2.导入之后我们就需要分类了,这个时候需要我们写一个算法了,我把它叫做“字典迭代算法”当然是我自己命名的,这个里面涉及到很多的坑,最后我们需要把这个功能封装起来。
    3.数据保存也就是,CSV文件的写入数据,最后利用Python的内置模块OS进行文件夹的分类创建,最后实现保存数据,这个时候我们还要解决CSV文件的中文乱码问题。

    难点

    1.解析数据之后如何分割数据,进行保存
    2.写入文件的时候如何解决乱码问题
    3.怎样去结构化我们的代码程序

    代码介绍

    大概的思路就是这样,下面我们来具体看看这个程序的功能实现的功能步骤

    解析数据

    # 1.解析CSV海量数据,用字典保存在内存空间
    def csv_data():
        global dormitory_data
        import csv
        dormitory_data = []
        with open(r"寝室数据.csv", encoding='utf-8-sig') as file:#将你的CSV文件和该程序文件放在一个文件夹下面
            f_csv = csv.reader(file)#读取文件里面的每一行数据,转换为列表赋值给新的变量
            header = next(f_csv)#利用迭代的方法,直接取出表头行(标题行),更新f_csv的数据,去除了标题行
            for row in f_csv:
                data = {}
                for index in range(7):
                    data[header[index]] = row[index]
                dormitory_data.append(data)

    这里我们对一份Excel的数据,修改它的后缀名,变成CSV文件的后缀名即可,然后我们就对这个数据进行导入和解析了。

    这个解析过程和我们之前的一篇文章《用Python写一个成绩计算系统》的有异曲同工之妙。主要要理解对表头行的提取很数据迭代解析,最后存储在一个列表里面。注意这里一般都是需要声明全局变量的。

    效果执行


    分割数据

    # 分割数据,按照数据的特点
    def csv_sort():
        global dicts
        dicts=[];i = 0
        dormitory_datas = dormitory_data.copy()#字典迭代删除迭代数据是一个坑,需要我们时刻更新数据库值
        dormitory_datass= dormitory_data.copy()
        for x in dormitory_datass:
            b = []
            for sort in dormitory_datass:
                a_1 = sort["宿舍编号"]
                b.append(a_1)
            dicts.append(x)
            dormitory_data.remove(x)
            dormitory_datass=dormitory_data.copy()
            if b[i][:3] != b[i+1][:3]:
                break

    这里不要小看这个几行代码,这个里面的算法是需要进行反复的测试,才实行的,里面有几个坑,真的是有点头疼,还好最后解决了。

    1.首先我们要按照一个算法去分割数据,我们浏览数据之后发现,每一个组团的1-4栋寝室数据都是有相关联的,1楼到2楼的寝室编号我们按照前三位的数据节点,进行索引判断,这样去迭代每一个数据,然后进行比较,最后如果不同的话,我们就发现那么肯定是不同的楼层了,需要我们进行分割数据了。

    2.但是我们发现我们跳出循环之后,也就是迭代完1楼的寝室数据之后,我们惊奇的字典的数据虽然是变化了,但是唯独也发生了变化,这个就是第一个坑,因为列表的删除有一个特点,它是利用迭代索引进行删除的,这个在我之前的计算机二级Python程序语言设计-疑难杂症知识点汇总,提到了这个解决办法。我最后利用字典的复制存储,不断的去更新和弥补这个数据字典,bug才解决,这个时候真的需要静下心来慢慢思索。

    3.利用字典迭代算法,判断什么时候需要分割数据,最后封装这个函数功能。

    保存数据

    #保存数据,按照不同的分类
    def keep_data():
        import csv
        import os
        import codecs
        for w in range(65,73):
            W=chr(w)
            path = '%s栋寝室'%W      # 创建总的文件夹
            if not os.path.exists(path):
                os.mkdir(path)
                os.chdir(path)
            else:
                os.chdir(path)
            a = []
            dict = dormitory_data[0]
            for headers in dict.keys():  # 把字典的键取出来,注意不要使用sorted不然会导致键的顺序改变
                a.append(headers)
            header = a  # 把列名给提取出来,用列表形式呈现
            for k in range(1,5):
                K=k
                for p in range(1,7):
                    P=p
                    csv_sort()
                    with open('%s组%d栋%d楼.csv'%(W,K,P ),'a', newline='', encoding='utf-8-sig') as f:
                        writer = csv.DictWriter(f, fieldnames=header,)  # 提前预览列名,当下面代码写入数据时,会将其一一对应。
                        writer.writeheader()  # 写入列名
                        writer.writerows(dicts)  # 写入数据
                    print("{}组{}栋寝室{}楼数据已经写入成功!!!! ! !".format(W,K,P))

    这个功能同样有几个坑,首先我们需要对数据设计好迭代for循环保存,并且利用OS模块继续自动的创建文件夹,最后对其数据进行命名,方便我们查看还有就是我们的CSV文件里面的编码是utf-8模式,但是Excel里面的编码不同,这个就会造成我们的中文数据形式的乱码问题。

    所以我们就去用了这个办法来解决了

    encoding='utf-8-sig'

    下面我们来看看整体操作的演示效果

     

     

     

     


    代码升级版

    1.我们还可以参考一些办法,对这个表格数据进行自动制作,添加头部文件信息,当然我这里就不做演示了,你们可以自己去寻找不同的解决方法。
    2.我们还可以对数据表格进行网格线绘制,使其我们的表格更加美观,比如字体居中等
    3.编写一个自动打印的程序,链接到我们的电脑打印机,一键化打印这些数据,极大地提高了我们的效率。

    这些功能读者可以自己去实现,我这里就不做说明了,毕竟代码的涉及和项目不容易,哈哈哈哈!

    自动化办公,一键化处理,本来就是Python的强项,我们可以利用它的功能来解决我们学习生活的难题,最后我想致敬那些每天为了数据整理,疯狂的点击Excel的工作人员,毕竟这个东西头大,难搞,枯燥,乏味

    最后我想要说的是虽然设计项目程序比较的头疼,但是它可以移植,并且不断的升级,最后别人用1个小时,你只需要3秒钟运行查看即可!

    程序源码

    # -*- coding :  utf-8 -*-
    # @Time      :  2020/9/15 13:26
    # @author    :  王小王
    # @Software  :  PyCharm
    # @File      :  寝室数据分类.py-1.0版本
    # @CSDN      :  https://blog.csdn.net/weixin_47723732
    
    # 1.解析CSV海量数据,用字典保存在内存空间
    def csv_data():
        global dormitory_data
        import csv
        dormitory_data = []
        with open(r"寝室数据.csv", encoding='utf-8-sig') as file:#将你的CSV文件和该程序文件放在一个文件夹下面
            f_csv = csv.reader(file)#读取文件里面的每一行数据,转换为列表赋值给新的变量
            header = next(f_csv)#利用迭代的方法,直接取出表头行(标题行),更新f_csv的数据,去除了标题行
            for row in f_csv:
                data = {}
                for index in range(7):
                    data[header[index]] = row[index]
                dormitory_data.append(data)
    
    # 分割数据,按照数据的特点
    def csv_sort():
        global dicts
        dicts=[];i = 0
        dormitory_datas = dormitory_data.copy()#字典迭代删除迭代数据是一个坑,需要我们时刻更新数据库值
        dormitory_datass= dormitory_data.copy()
        for x in dormitory_datass:
            b = []
            for sort in dormitory_datass:
                a_1 = sort["宿舍编号"]
                b.append(a_1)
            dicts.append(x)
            dormitory_data.remove(x)
            dormitory_datass=dormitory_data.copy()
            if b[i][:3] != b[i+1][:3]:
                break
    
    #保存数据,按照不同的分类
    def keep_data():
        import csv
        import os
        import codecs
        for w in range(65,73):
            W=chr(w)
            path = '%s栋寝室'%W      # 创建总的文件夹
            if not os.path.exists(path):
                os.mkdir(path)
                os.chdir(path)
            else:
                os.chdir(path)
            a = []
            dict = dormitory_data[0]
            for headers in dict.keys():  # 把字典的键取出来,注意不要使用sorted不然会导致键的顺序改变
                a.append(headers)
            header = a  # 把列名给提取出来,用列表形式呈现
            for k in range(1,5):
                K=k
                for p in range(1,7):
                    P=p
                    csv_sort()
                    with open('%s组%d栋%d楼.csv'%(W,K,P ),'a', newline='', encoding='utf-8-sig') as f:
                        writer = csv.DictWriter(f, fieldnames=header,)  # 提前预览列名,当下面代码写入数据时,会将其一一对应。
                        writer.writeheader()  # 写入列名
                        writer.writerows(dicts)  # 写入数据
                    print("{}组{}栋寝室{}楼数据已经写入成功!!!! ! !".format(W,K,P))
    
    def main():
        csv_data()
        keep_data()
    
    if __name__ == '__main__':
        main()
    
    
    


    每文一语

    学以致用,方能学以为用!

    你学会了吗?此文转载,著作权归作者所有,如有侵权联系小编删除!

    原文地址:https://blog.csdn.net/weixin_47723732

    源码地址点这

     

    展开全文
  • 本人是在一家零售行业工作,所出的教程,都是我日常工作中遇到的 复杂而大量重复的工作 我用python代替去完成它,都是原创内容,非粘贴复制,如果我的文章能够帮助到大家,希望帮忙点个关注。当然,如果有很多错别字...

    本人是在一家零售行业工作,所出的教程,都是我日常工作中遇到的 复杂而大量重复的工作 我用python代替去完成它,都是原创内容,非粘贴复制,如果我的文章能够帮助到大家,希望帮忙点个关注。当然,如果有很多错别字,也请见谅。

    问题来了:

    领导总是叫我每天导出来分析,但是我们公司分析数据总是要到 大区和小区,因为我们大区和小区都有负责人,KPI考核要对应负责人,通过数据去体现问题。这一次领导叫我把线上的门店自提订单数据导出来做数据分析。

    题外话:因为公司对接到第三方ERP系统都是以门店为主去对接的,因为我们钱给的少,所以第三方数据不支持定制化数据分析。只能靠我们手工用excel 去做表。但是如果只是做一次,还勉强用excel 能做好。如果是天天都需要数据跟进,那天天都需要做数据赛选和匹配。虽然excel 可以做到输入好公式,把数据源复制粘贴进去,可以自动计算。但是excel 公式多,会非常的吃电脑性能,而且出现无响应等。所以这个时候我们需要利用代码去完成这个,我们叫的高大上的名字 办公自动化

    先给大家看下从ERP导出来的数据源是什么样子:

    订单状态订单金额(实付)下单时间提货门店销售门店(code)客服备注商品金额总计
    订单支付已过期0.102019-09-17 10:45:56多多一上总部A9999 0.10
    订单支付已过期0.102019-09-17 17:33:07江南摩尔店A9999 0.10
    订单支付已过期0.102019-09-17 17:33:59多多一上总部A9999 0.10
    订单支付已过期0.102019-09-17 17:35:04江南摩尔店A9999 0.10
    订单支付已过期0.102019-09-18 08:24:09江南摩尔店A9999 0.10
    订单支付已过期0.102019-09-18 08:28:07江南摩尔店A9999 0.10
    订单支付已过期0.102019-09-18 08:29:25嘉兴平湖店A9999 0.10
    订单支付已过期0.102019-09-18 08:53:05江南摩尔店A9999 0.10
    订单支付已过期0.102019-09-18 09:51:24多多一上总部A9999 0.10
    订单支付已过期0.102019-09-18 09:56:04多多一上总部A9999 0.10
    订单支付已过期0.102019-09-18 10:17:22多多一上总部A9999 0.10
    订单取消0.012019-09-18 10:55:52江南摩尔店A9999 0.01
    待备货29.002019-09-23 19:36:06兰溪星辰店A0012 29.00
    待备货29.002019-09-23 19:38:32巫山祥云店B0203 29.00
    订单支付已过期19.002019-09-23 19:38:51全椒新华路A0466 19.00
    订单取消29.002019-09-23 19:49:06宣恩解放街A0465 29.00
    订单支付已过期29.002019-09-23 19:49:12临沂兰山店A0265 29.00
    待备货29.002019-09-23 19:49:34枣庄薛城财富步行街A0295 29.00
    待备货67.002019-09-23 19:50:12三水湾店A0105 67.00
    待备货67.002019-09-23 19:50:12三水湾店A0105 67.00
    待备货67.002019-09-23 19:50:12三水湾店A0105 67.00

    在数据合并前需要准备一个带有大区,小区 ,门店 的表去根据 “提货门店” 和 下方 的 “门店” 合并 如下表:我看到数据后先做的是 python 的 merge 数据合并,这里合并就是excel 函数的vlookup 是一样的基本功能,如果要区别的,我觉得merge 还是要强大。

    大区小区门店
    南方大区温州大区温州楠江店
    南方大区温州大区温州新桥店
    南方大区温州大区温州状元店
    南方大区温州大区温州浦西店
    南方大区温州大区温州北白象新店
    南方大区温州大区路桥金清店
    南方大区温州大区温岭松门店
    南方大区温州大区温州蟠凤商业街
    南方大区温州大区区域合计
    北方大区江苏一区淮安幸福店
    北方大区江苏一区漕运广场店
    北方大区江苏一区东长街店
    北方大区江苏一区淮安盱眙店
    北方大区江苏一区阜宁阜师路
    北方大区江苏一区淮安汇通店
    北方大区江苏一区东大街店
    北方大区江苏一区少年宫店

    代码如下:

    #encoding:utf-8
    import pandas as pd #导入pandas包
    rd_excel1 = pd.read_excel(r"D:\111\Book1.xlsx") #读取具有大区,小区,门店的表
    rd_excel2 = pd.read_excel(r"D:\111\12049_2019092810070530368495.xls") #读取数据源表
    merge_excel = pd.merge(rd_excel1,rd_excel2,left_on='门店',right_on='提货门店') # 进行指定相同值的合并
    merge_excel.to_excel(r"D:\111\merge.xlsx") #保存为merge.xlsx 
    

    合并后效果如下:

    事情还没完,这个只是在数据源中匹配合并好了提货门店所属的大区和小区

    下面我们据需要根据上面的数据源 进行 对数据的分类汇总 和 计数 以及修改列名。

    第一步,修改列名:

    为了生成的数据更好理解 所以需要修改列名 。把数据源列名的 订单状态 修改为 订单数量购买数量 修改为 购买件数

    代码如下:

    rd_merge = pd.read_excel(r"D:\111\merge.xlsx") #读取刚刚合并好的excel
    changer =rd_merge.rename(columns={'订单状态':'订单数量','购买数量':'购买件数'}) #修改列名

    第二步,赛选出不要的数值,这里是在excel 中 订单状态 那列除了“已自提”,“待备货”,“待自提” 且 商品总金额  大于0。

    这里主要去除掉不要的数据,方便在生成的时候,不占用太多资源。

    代码如下:

    df = pd.DataFrame(changer) #讲上面改变列名的表格转成 DF
    title = ['已自提','待备货','待自提'] #定义一个列表,就是需要选中的列的值
    sel_excel = df[(df['订单数量'].isin(title)) & (df["商品金额总计"]>1)] #进行赛选
    

    第三步,按条件进行分类汇总(按条件进行求和),进行按条件进行计数。

    这里主要根据自己工作业务逻辑去做求和 和 计数 等计算方式

    代码如下:

    province = sel_excel.groupby(['大区']).agg({'订单数量':'count','商品金额总计':'sum','购买件数':'sum'})
    to_city = sel_excel.groupby(['小区']).agg({'订单数量':'count','商品金额总计':'sum','购买件数':'sum'})
    shop = sel_excel.groupby(['门店']).agg({'订单数量':'count','商品金额总计':'sum','购买件数':'sum'})

    上述代码解释,以一行代码为例解释,

    province = sel_excel.groupby(['大区']).agg({'订单数量':'count','商品金额总计':'sum','购买件数':'sum'})

    按照上面“进行赛选” 后得出的数据进行 分组统计,也就是 groupby函数,然后集合agg函数,网上说agg 功能主要是提供基于列的聚合操作。在 groupby()中的值 就是要计算的条件。而后面的出 在订单数量【前名字为订单状态】为计数,商品金额总计为求和,购买件数 为 求和 都是计算方式。

    第四步,新建表格,将上面 大区,小区,门店,写入到excel 不同sheet中。

    代码如下:

    writer = pd.ExcelWriter(r"D:\111\m2.xlsx") #新建 m2.xlsx 表
    sheet1 = pd.DataFrame(province) #进行转成DF格式
    sheet2 = pd.DataFrame(to_city) #进行转成DF格式
    sheet3 = pd.DataFrame(shop) #进行转成DF格式
    
    sheet1.to_excel(writer,sheet_name='大区') #写入到m2.xlsx 的名叫 大区的sheet中
    sheet2.to_excel(writer,sheet_name='小区') #写入到m2.xlsx 的名叫 小区的sheet中
    sheet3.to_excel(writer,sheet_name='门店') #写入到m2.xlsx 的名叫 门店的sheet中
    writer.save() #保存
    writer.close() #关闭excel

    最后代码执行后效果如下:

    下方是sheet的截图

    下方是门店sheet中的数据:

     

    门店订单数量商品金额总计购买件数
    万州五桥上海大道3873
    万州新城一店4964
    万州新城二店21162
    三台老西街2582
    三水湾店52495
    上虞青春店41924
    东大街店3773
    东长街店1043111
    中江上南街店2382
    临沂义堂店31453

    下方是小区sheet中的数据:

    小区订单数量商品金额总计购买件数
    安徽一区1850818
    安徽二区1966919
    安徽四区2886628
    山东一区54212556
    山东二区40187046
    江苏一区55191856
    江苏三区29121532
    浙北大区2496925
    浙西一区61826
    浙西二区1044810
    温州大区1793917

    下方是大区sheet中的数据:

    大区订单数量商品金额总计购买件数
    北方大区2439171255
    南方大区57253858
    成都大区39915550411
    湖南大区1123848116
    贵州大区1047487115
    重庆大区1244419126

    分享就到这里了,可能文字描述逻辑有些不对,还请原谅。

    别忘记,如果对你带来启发和灵感,给我点个关注呗。

     

    展开全文
  • 目录需求分析批量数据替换根据产品型号进行分类汇总根据编码进行分类汇总 最近在公司又收到了一个操作excel的项目(我们称为改善项目)特此记录下来,希望对你也有用 需求分析 1.将之前的部分产品型号名称替换为新的...
  • 主要介绍了python 实现读取csv数据,分类求和 再写进 csv,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python】操作Excel之分类汇总

    万次阅读 多人点赞 2018-03-31 12:00:21
    三月是雷锋月,抓住他的小尾巴,留下一点爱心,分享一下近来几天我学习python操作Excel的体会与技巧:对表格进行分类汇总。 有一个Excel表 (乱序)  我想要操作的就是把所有科目编码为'10101'的'借方金额'与'...
  • python对一个表格分类汇总后,用于groupby的数据在汇总后不能作为一个单独的列存在,也没有名称,但是我在绘图的时候需要用到这个数据,请问怎么解决
  • Python解决海量数据分类汇总~一键化办公的神器

    千次阅读 多人点赞 2020-09-16 14:46:11
    昨天突然发现有一个比较头疼的问题,有一份数据是某一个学校的寝室数据,有不同的维度的分类,总的数据大概有4000数据,需要进行分类,然后按照不同分类维度进行表格制作,最后生成8个文件夹,每个文件夹里面有24个...
  • 主要介绍了Python实现对excel文件列表值进行统计的方法,涉及Python基于win32com组件操作表格文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 这里使用的数据是某地区影响发生火灾的因素以及火灾情况。 总体思想是创建一个类,在类里面创建处理数据的函数。 import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn....
  • python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块
  • 数据挖掘的第一步数据探索,包括汇总统计和可视化,介绍了相关概念,并结合鸢尾花数据展示了如何用Python进行汇总统计量的计算以及常用的可视化来帮助我们分析数据的性质。
  • python利用pandas实现excel数据分组汇总

    万次阅读 多人点赞 2020-02-15 11:07:49
    之前,在知乎上看见网友提出了如下问题:假设excel表中有如下数据,需要根据编码分组并并求出数量之和。但是感觉用excel自身的功能感觉操作并不简单,于是决定使用pandas解决,并尽可能多的了解一下pandas中的group...
  • Python数据分析之思维导图汇总

    万次阅读 多人点赞 2019-06-28 14:54:16
    关于Python数据分析,其实网上能够找到的学习资源很多,主要分为两类:一类是提供各种资源的推荐,比如书单、教程、以及学习的先后顺序;另一类是提供具体的学习内容,知识点或实际案例。 但很多繁琐而又杂乱的内容...
  • Python数据操作汇总

    千次阅读 2020-05-18 04:39:13
    Python数据操作汇总创建dataframedataframe 改变列名dataframe 排序列表推导式重复repeat查看dataframe变量信息查看dataframe维度dataframe去掉重复dataframe描述dataframe按列计数dataframe切片操作isin判断 %in%赋...
  • Excel中使用分类汇总数据透视可以按特定维度对数据进行汇总,Python中使用的主要函数是groupby和pivot_table。 import numpy as np import pandas as pd import pandas as pd df = pd.DataFrame({'A':['bob','...
  • 数据分组/数据透视表数据分组分组键是列名分组键是Seriesaggregate方法对分组后的结果重置索引数据透视表 数据分组 分组键是列名 df >>> 用户ID 客户分类 区域 是否省会 7月销量 8月销量 9月销量 0 59224 ...
  • 如何用pandas同时实现以下分类汇总:合并相同“名称”,“金额”求和,“利率”取均值,日期、类型、主体跟随“名称”合并。 尝试了一些办法,groupby似乎不能同时既求和又求均值&#...
  • Python分类求和方法

    千次阅读 2018-11-27 16:40:51
    Python分类求和方法,Excel表格数据为例。 在Excel中经常会有根据列分类求和的需求,如果数据较少,可以在Excel中通过手动筛选的方法,但是数据较多那就比较麻烦啦。 这里需要用到groupby函数,pandas提供了一个...
  • 本文详细介绍了决策树算法的原理,构造,交叉验证等知识点。并通过鸢尾花数据集进行了决策树算法的分类与预测,对算法的函数用法进行了详细的介绍。
  • Python | 分类计数

    2021-02-26 13:53:17
    本文首发于微信公众号:"...
  • python语法基础汇总

    千次阅读 多人点赞 2019-11-05 10:29:42
    文章目录python语法基础一、简介及运算符什么是计算机语言编译型语言和解释型语言Python的介绍Python开发环境搭建Python的交互界面Python和Sublime的整合几个概念基本语法字面量和变量变量和标识符数据类型类型检查...
  • Python数据分析学习路线详细版总结

    千次阅读 2020-11-20 22:37:19
    数据分析人人都有必要掌握一点,哪怕只是思维也行。下面探讨Python数据分析需要学习的知识范畴,结合自己的经历和理解,总结的学习大纲,有些章节带有解释,有些没有。当然,关于学习范畴,可能...
  • 问题描述:df表是学生的刷卡记录数据,df1表是学生的各个课程的绩点数据,现在要计算每个学生的刷卡频数以及其对应的平均绩点。 解决:先用value_counts计算df表的频数,再用groupby计算每个学生的平均绩点,最后再...
  • 它们大部分都属于约简和汇总 统计,用于从Series中提取单个值(如sum或mean)或从DataFrame的行或 列中提取一个Series。跟对应的NumPy数组方法相比,它们都是基于没有缺 失数据的假设而构建的。看一个简单的DataFrame:...
  • 我想要操作的就是把所有科目编码为’10101’的’借方金额’与’贷方金额’分别累加求和,最终得到一个下面这样...3.按’科目编码’ 分类,对’借方金额’,‘贷方金额’进行汇总,代码如下: df_sum = df.groupby(‘科.
  • python数据处理常用代码---数据预处理

    千次阅读 多人点赞 2020-04-30 22:32:54
    分类变量改成数值变量 我们来看这样一张表,想要把性别变成数值变量 import pandas as pd import numpy as np test_dict = {'id':[1,2,3,4,5,6],'name':['Alice','Bob','Cindy','Eric','Helen','Grace '],'math':[90...
  • 数据中的某两个字段进行汇总 data = pd.read_csv('carsale.csv', encoding='utf-8') data = data.groupby([data['字段1'],data['字段2']])['汇总项'].sum().reset_index() 按两个字段汇总绘图 import ...
  • python pandas 操作集锦 ** 载入数据集 df = pd.DataFrame({ '学生姓名':['小红','小花','小明','小军','小雷'], '性别':['女','女','男','男','男'], '语文成绩':[58,78,96,64,85], '数学成绩':[90,69,45,35,57...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,469
精华内容 6,987
关键字:

python数据分类汇总

python 订阅