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 strip()函数 介绍
May 24 Python
在Python中使用第三方模块的教程
Apr 27 Python
Python爬虫抓取手机APP的传输数据
Jan 22 Python
Python的时间模块datetime详解
Apr 17 Python
python实现数据图表
Jul 29 Python
python复制列表时[:]和[::]之间有什么区别
Oct 16 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
Python循环实现n的全排列功能
Sep 16 Python
Python中url标签使用知识点总结
Jan 16 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
Python基础 括号()[]{}的详解
Nov 07 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
第五节 克隆 [5]
2006/10/09 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
Python threading多线程编程实例
2014/09/18 Python
Python中的迭代器漫谈
2015/02/03 Python
介绍Python中内置的itertools模块
2015/04/29 Python
Python内置函数locals和globals对比
2020/04/28 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
详解如何修改python中字典的键和值
2020/09/29 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
C++的几个面试题附答案
2016/08/03 面试题
旅游管理毕业生自荐书
2014/02/02 职场文书
气象学专业个人求职信
2014/04/22 职场文书
民主评议党员工作总结
2014/10/20 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
英语教师求职信范文
2015/03/20 职场文书
中标通知书格式
2015/04/17 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL