一般我们进行数据统计的时候要进行数据摸查,可能是摸查整体的分布情况啊。平均值,标准差,总数,各分段的人数啊。这时候用excel或者数据库统计都不方便。

我要统计的一个文件,太大了,还得分成15个文件,结果导一个进mysql都要导很久。再mysql进行编程,执行更久,很费事。

但是用python直接统计就很方便啦。

  1. @author: pc
  2. """
  3. import matplotlib as mpb
  4. import pandas as pd
  5. import pylab as pl
  6. import numpy as np
  7. #读取文件
  8. #mnames=[' product_type','phone_num',' flow_total',' flow_used', 'phone_total',' phone_used' ]
  9. mnames=['time']
  10. product=pd.read_table('C:\\Users\\pc\\Desktop\\time.txt',encoding='utf-8',sep='|',header=None,names=mnames)
  11. # print(product['product_subtotal'])
  12. #选取产品小计列
  13. time=product['time']
  14. #按分位数划分区间
  15. cats=pd.qcut(time,[0,0.2,0.4,0.6,0.8,1.0])
  16. # print(cats)
  17. # print(pd.value_counts(cats))
  18. # print(product_subtotal)
  19. count=time.value_counts()
  20. #写入csv文件
  21. count.to_csv('C:\\Users\\pc\\Desktop\\counts9.csv')
  22. #输出描述性统计结果
  23. print(time.describe())
  24. #根据电话号码查询某行的值
  25. #num=product['phone_num']
  26. #print(product[product['phone_num']==18948482538])
  27. bins=np.arange(0,5000,100)
  28. pl.hist(time, bins)

但是这是适合一个一个文件算,如果存在多个文件,我们可以使用python合并后计算。

  1. #-*-coding:utf-8-*-
  2.  
  3. import codecs
  4. import os
  5. filepath = "E:\\workspace\\test\\source\\usebill\\" #把要合并的文件放入一个文件夹
  6. flist = os.listdir(filepath)
  7. fileWrite =codecs.open("../source/alluse.txt",'w+','utf-8')#编码方便
  8. for file in flist:
  9. child = os.path.join('%s%s'%(filepath,file))#连接路径
  10. print(child)
  11. fh = codecs.open(child,'r','utf-8')
  12. for line in fh.readlines():
  13. fileWrite.write(line)
  14. fileWrite.close()
  15.  
  16. import pandas as pd
  17. product=pd.read_table('..\\source\\alluse.txt',encoding='utf-8',sep='|',header=None)
  18. print(product[5][:10])
  19. print(product[5].describe())

再说下编码一个小问题吧。多数的挖掘在unicode文件进行,f=open('XXXXX', 'r')
content=f.read().decode('utf-8')这是解码成unicode

参考  文件(gbk, utf-8...)   decode 成为   unicode 文件  编码  encode- 成为  文件(gbk, utf-8...)

python数据统计,总数,平均值等的更多相关文章

  1. python数据统计出海品牌

    当国内市场处于红海之中时,市场全球化已成为大势所趋.越来越多的国产品牌远走高飞,纷纷将品牌拿出来. 2019年,中国品牌十大品牌中,华为品牌力指数同比增长22%,阿里巴巴品牌力指数增长48%,小米品牌 ...

  2. python数据统计之禅道bug统计

    背景 通过定期输出 每条产品的 BUG 情况,以此来反馈开发解决问题.测试跟进问题的情况:钉钉群推送提醒开发及时解决 以此我这边开始着手准备编写一个小工具,最终达到目的:自动定期发送统计报告,报告维度 ...

  3. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  4. Python数据分析之双色球高频数据统计

    Step1:基础数据准备(通过爬虫获取到),以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 : 备注:想要现成数据的可以给我发邮件哟~ ...

  5. Python数据可视化的四种简易方法

    摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...

  6. python --数据可视化(一)

    python --数据可视化 一.python -- pyecharts库的使用 pyecharts--> 生成Echarts图标的类库 1.安装: pip install pyecharts ...

  7. python数据统计分析

    1. 常用函数库   scipy包中的stats模块和statsmodels包是python常用的数据分析工具,scipy.stats以前有一个models子模块,后来被移除了.这个模块被重写并成为了 ...

  8. MySQL统计总数就用count(*),别花里胡哨的《死磕MySQL系列 十》

    有一个问题是这样的统计数据总数用count(*).count(主键ID).count(字段).count(1)那个效率高. 先说结论,不用那么花里胡哨遇到统计总数全部使用count(*). 但是有很多 ...

  9. 有关“数据统计”的一些概念 -- PV UV VV IP跳出率等

    有关"数据统计"的一些概念 -- PV UV VV IP跳出率等 版权声明:本文为博主原创文章,未经博主允许不得转载. 此文是本人工作中碰到的,随时记下来的零散概念,特此整理一下. ...

随机推荐

  1. SQL 常用的命令 (转)

    地址:http://www.cnblogs.com/longly/p/6030609.html 设置SQL语句所用的字符编码:set names UTF8; 判断指定的数据库是否存在:DROP DAT ...

  2. php 二维数组排序,多维数组排序

    对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type ...

  3. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误

    在Myeclispe部署项目后 报错 The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误 如果在M ...

  4. Mybatis获取插入记录的自增长ID(转)

    1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <ins ...

  5. 开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供)

    天气预报一直是各大网站的一个基本功能,最近小编也想在网站上弄一个,得瑟一下,在网络搜索了很久,终于找到了开源免费的天气预报接口API以及全国所有地区代码(国家气象局提供),具体如下: 国家气象局提供的 ...

  6. sqoop job命令自动生成

    批量生成 #!/usr/bin/env python import MySQLdb import datetime import time import os #source database HOS ...

  7. Spark On YARN使用时上传jar包过多导致磁盘空间不够。。。

    今天测试过程中发现YARN Node变成Unhealthy了,后来定位到硬盘空间不够..... 通过查找大于100M的文件时发现有N多个spark-assembly-1.4.0-SNAPSHOT-ha ...

  8. 微信公众平台实现pc端网站登录

    亲测通过 1,pc端生成带有当前会话的sessionid的url(通过微信来扫描) 2,扫描后,微信浏览器将访问url,将微信浏览器中的sessionid改成通过url传过来的session(pc端) ...

  9. C++11引用临时变量的终极解析

    工作中遇到一个引用临时变量的问题,经过两天的学习,私以为:不仅弄明白了这个问题,还有些自己的独到见解. 这里使用一个简单的例子来把自己的学习过程和理解献给大家,如果有什么问题请不吝指正.   **** ...

  10. autoit使用WMIC获取硬件信息

    效果图: 直接上源码了 #cs ---------------------------------------------------------------------------- AutoIt ...