Python使用Pandas对csv文件进行数据处理的方法


Posted in Python onAugust 01, 2019

今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套装里面全默认配置的MySQL性能不给力,又尝试用R搞一下吧结果发现光加载csv文件就要3分钟左右的时间,相当不给力啊,翻了翻万能的知乎发现了Python下的一个神器包:Pandas(熊猫们?),加载这个140多M的csv文件两秒钟就搞定,后面的分类汇总等操作也都是秒开,太牛逼了!记录一下这次数据处理的过程:

使用Python3.6.4环境(对中文支持比较好),安装Pandas包

pip install pandas

基本使用:

import pandas as pd
import numpy as np #进行具体的sum,count等计算时候要用到的
df=pd.read_csv('d:/snp/nh23.csv') #这里绝对路径一定要用/,windows下也是如此,不加参数默认csv文件首行为标题行
df.head() #查看引入的csv文件前5行数据
df[“播种面积”] #查看指定列,后面跟[:5]查看前5行数据

Python使用Pandas对csv文件进行数据处理的方法

df[“调查对象代码”].str[:6] #获取指定列前6位字符串

df["ADDR"]=df["调查对象代码"].str[:6] #将上一行处理后的6位地址码作为新列ADDR插入

Python使用Pandas对csv文件进行数据处理的方法

gp=df.groupby(["ADDR","代码"])["播种面积"].sum() #根据ADDR和代码进行分组后对播种面积列进行sum求和计算

Python使用Pandas对csv文件进行数据处理的方法

pv=df.pivot_table(["播种面积"],index="ADDR",columns="代码",margins=True,aggfunc=np.sum,fill_value=0) #数据透视图,对播种面积列进行汇总计算,index为行,columns为列,margins=True增加一个全部行汇总,aggfunc=np.sum透视图中对播种面积值进行sum计算,这里np是开头import的numpy as np,fill_value=0对空值进行0替换,否则没有数据会显示NaN

Python使用Pandas对csv文件进行数据处理的方法

pv.to_csv("d:/snp/test.csv") #写入csv文件

总结

以上所述是小编给大家介绍的Python使用Pandas对csv文件进行数据处理的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
浅要分析Python程序与C程序的结合使用
Apr 07 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
Python应用领域和就业形势分析总结
May 14 Python
Python函数和模块的使用总结
May 20 Python
利用Python校准本地时间的方法教程
Oct 31 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
python如何实现单链表的反转
Feb 10 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
python实现批处理文件
Jul 28 Python
详解OpenCV曝光融合
Apr 29 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 #Python
python psutil模块使用方法解析
Aug 01 #Python
python读写csv文件并增加行列的实例代码
Aug 01 #Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 #Python
python对csv文件追加写入列的方法
Aug 01 #Python
Django Aggregation聚合使用方法解析
Aug 01 #Python
Flask教程之重定向与错误处理实例分析
Aug 01 #Python
You might like
php集成动态口令认证
2016/07/21 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python连接mysql并提交mysql事务示例
2014/03/05 Python
简析Python的闭包和装饰器
2016/02/26 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
使用Python发现隐藏的wifi
2020/03/04 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
党校学习思想汇报
2014/01/06 职场文书
财务部总监岗位职责
2014/03/12 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
环保倡议书范文
2014/05/12 职场文书
应届生自荐信
2014/06/30 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
标准单位租车协议书
2014/09/23 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
质量保证书
2015/01/17 职场文书
产品调价通知函
2015/04/20 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python