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 相关文章推荐
Python部署web开发程序的几种方法
May 05 Python
Python使用sorted排序的方法小结
Jul 28 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
基于python if 判断选择结构的实例详解
May 06 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
Python读写锁实现实现代码解析
Nov 28 Python
pandas实现导出数据的四种方式
Dec 13 Python
Python Selenium库的基本使用教程
Jan 04 Python
python re模块和正则表达式
Mar 24 Python
python入门学习关于for else的特殊特性讲解
Nov 20 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
天津市收音机工业发展史
2021/03/04 无线电
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
js 字符串操作函数
2009/07/25 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
Vue.use源码分析
2017/04/22 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
《荷花》教学反思
2014/04/16 职场文书
机械专业求职信
2014/05/25 职场文书
超市创业计划书
2014/09/15 职场文书
社区义诊通知
2015/04/24 职场文书
单位接收证明格式
2015/06/18 职场文书
九年级英语教学反思
2016/02/15 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS