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 相关文章推荐
简单的编程0基础下Python入门指引
Apr 01 Python
Python字符串匹配算法KMP实例
Jul 18 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
基于python实现删除指定文件类型
Jul 21 Python
使用anaconda安装pytorch的实现步骤
Sep 03 Python
python状态机transitions库详解
Jun 02 Python
python 常用的异步框架汇总整理
Jun 18 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
在Windows版的PHP中使用ADO
2006/10/09 PHP
php 时间计算问题小结
2009/01/04 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
基于jquery的$.ajax async使用
2011/10/19 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
python3中for循环踩过的坑记录
2020/12/14 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
全球性的女装店:storets
2019/06/12 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
澳大利亚商务邀请函
2014/01/17 职场文书
组工干部对照检查材料
2014/08/25 职场文书
四风之害观后感
2015/06/09 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
能让Python提速超40倍的神器Cython详解
2021/06/24 Python