详解pandas的外部数据导入与常用方法


Posted in Python onMay 01, 2019

外部数据导入

导入excel文件

pandas导入excel用read_excel()方法:

import pandas as pd


excel_file1 = pd.read_excel('data/测试.xlsx',encoding='utf-8')

姓名  年龄    工作    工资
0   张三  25    学生      200
1   李四  24    工人     3000
2   王伟  28    NaN      5000
3  王二毛  22  自由职业   6000

第一个参数是路径,既可以使用绝对路径又可以使用相对路径,如果文件名含有汉字,注意指定设置一下属性encoding = 'utf-8',另设置sheet_name指定具体的Sheet名字,也可传入sheet的顺序,从0开始。

excel_file1 = pd.read_excel('data/test.xlsx',sheet_name = 0)

指定索引

列索引默认从0开始,通过index_col设置,header设置行索引。

excel_file1 = pd.read_excel('data/测试.xlsx',encoding='utf-8',index_col=0)

年龄    工作    年资
姓名                
张三   25    学生      200
李四   24    工人     3000
王伟   28   NaN       5000
王二毛  22  自由职业   6000

excel_file1 = pd.read_excel('data/测试.xlsx',encoding='utf-8',header=1)

张三  25    学生     200
0   李四  24    工人    3000
1   王伟  28   NaN      5000
2  王二毛  22  自由职业  6000

指定索引列

有时本地文件列数太多,可以设置usercols指定导入的列,也可以列表形式传入多个值,表示传入哪些列。

excel_file1 = pd.read_excel('data/测试.xlsx',encoding='utf-8',usecols=[0,2])

姓名    工作
0   张三    学生
1   李四    工人
2   王伟    NaN
3  王二毛  自由职业

常用方法

  • shape() 可以获取excel文件的行和列,以元祖形式返回;
  • info() 获取数据类型;
  • astype() 可转换列里面的数据类型,括号里是要转换的目标类型;如 df[列2].astype('float64') ; df['列'].dtype 可查看列的类型
  • isnull() 判断哪个值是缺失值;
  • dropna() 删除有缺失值的行,返回删除后的数据,传入参数how=all,要全为空值才会删除;
  • fillna() 括号内可直接填入要要填充的值,也可指定列填充,以 字典 形式传参;
  • drop_duplicates() 默认对所有重复值判断,默认保留 keep=first 第一个行值;通过 keep 修改,值可为 last ,保留最后一个,还可设置 keep 为 False ,一个也不保留。另也可指定列名去重,如传入参数 subset =['列名1,列名2'],注意是以列表形式传参;
  • head() 传入的参数代表获取前几行;
  • describe() 掌握数值的分布情况,如均值,最值,方差,分位数。
  • column 和 index 可设置 列索引 和 行索引 ,以 列表 形式传参;
  • set_index() 重新设置索引列,传入要指名要用做行索引的名称;
  • reset_index(level = None,drop=False,inplace = False) ,level指定要将层次化索引的第几级别转化为 columns ,第一个索引为0级,第二个为1级,默认全部转化为columns。 drop 是否将原索引删掉, inplace 是否修改原数据表;该方法常用于数据分组和数据透视表中。
  • rename() 重命名索引,可重新设置 columns 和 index ,以 字典 形式传参, key 为原值, value 为替换后的值。

导入CSV文件

pandas导入csv文件用read_csv()方法;

import pandas as pd
csv_file1 = pd.read_csv('.\\data\\train-pivot.csv',index_col=0,header=0,nrows = 2)

通过 sep 设置分割符, encoding 指定编码格式。导入csv文件要指定为gbk,不然会报错,如果一个大文件你只需看前面几行,通过 nrows 设置。

import pandas as pd
csv_file1 = pd.read_csv('data/train-pivot.csv',encoding='gbk',nrows=2)
print(csv_file1)

用户ID 客户分类    区域 是否省会  7月销量  8月销量 
0  59224   A类  一线城市    是     6    20     0
1  55295   B类  三线城市    否    37    27    35

可以设置 usercols 指定导入的列。

用户ID    区域
0  59224  一线城市
1  55295  三线城市
2  46035  二线城市
3   2459  一线城市
4  22179  三线城市

导入sql

pandas中有 read_sql() 方法:

import pandas as pd
import pymysql
# 创建连接
conn = pymysql.connect(host = 'localhost',user = 'python',
            password = 'passwd',db = 'test',
            charset = 'utf-8'
            )
'''
user:用户名
password:密码
host:数据库地址/本机用localhost
db:数据库名
charset:编码,一般为utf-8
'''
sql = "SELECT * FROM user" # 写要执行的sql语句
pd.read_sql(sql,conn)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python GAE、Django导出Excel的方法
Nov 24 Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
12步教你理解Python装饰器
Feb 25 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
Python爬取成语接龙类网站
Oct 19 Python
python实现维吉尼亚算法
Mar 20 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
python 命令行传入参数实现解析
Aug 30 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
python 错误处理 assert详解
Apr 20 Python
Django模板获取field的verbose_name实例
May 19 Python
Python3.5文件读与写操作经典实例详解
May 01 #Python
Python3.5集合及其常见运算实例详解
May 01 #Python
Django给admin添加Action的步骤详解
May 01 #Python
Django重置migrations文件的方法步骤
May 01 #Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 #Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 #Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 #Python
You might like
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
PHP空值检测函数与方法汇总
2017/11/19 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
详解Python sys.argv使用方法
2019/05/10 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
机械设计及其自动化专业推荐信
2013/10/31 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
班委竞选演讲稿
2014/04/28 职场文书
室内设计专业自荐信
2014/05/31 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
节水倡议书
2015/01/19 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
教务处干事工作总结
2015/08/14 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
Python如何配置环境变量详解
2021/05/18 Python