详解pandas的外部数据导入与常用方法
作者:Simon_Zhou 发布时间:2023-05-15 19:15:11
外部数据导入
导入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)
来源:https://juejin.im/post/5cc81ad65188252dc92b5cc3
猜你喜欢
- 目录前言1. 使用Lambda来修改Pandas数据框中的值2. 使用f-string来连接字符串3. 用Zip()函数对多个列表进行迭代4
- Haar特征哈尔特征使用检测窗口中指定位置的相邻矩形,计算每一个矩形的像素和并取其差值。然后用这些差值来对图像的子区域进行分类。haar特征
- 很多网站需要将好的会员号留着,或用于日后的盈利。实现方法不是本文讨论范围,本文仅列出用于检测靓号类型的一些正则。靓号检测:主要可以检测连号(
- 平时在写asp代码的时候有很多重复的内容要写,麻烦的要命,比如在收集表单提交的数据时,特别是表单的输入域比较多时,要不断写好多的reques
- Mac 环境中既有自带的 Python2.7 也有自己安装的 Python 3.5.1,默认想用 Python3 的环境1. 添加 Pyth
- Go 中接口也是一个使用得非常频繁的特性,好的软件设计往往离不开接口的使用,比如依赖倒置原则(通过抽象出接口,分离了具体实现与实际使用的耦合
- CSS重设就是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义
- asp之家注:有时候我们想让程序运行变慢下来,asp中该怎么做呢?原理很简单就是在运行程序前运行一段无关紧要的程序就可以了,要实现加长程序的
- 1969年8月8日,在北京协和医院降生了一个漂亮的小女孩。接生的阿姨说,她的声音这么大,好象想要全世界的人都听到。后来,她的父亲为她取了一个
- 这两条是关于IE环境中的CSS的。不要使用import引入CSS,可以避免内容的无样式瞬间(FOUC)问题。不要把样式的link放到页面后(
- replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(st
- 代码如下:--函数 CREATE function fn_GetPy(@str nvarchar(4000)) returns nvarch
- 背景:不久前,设计实现了京东api的功能,发现如果换了其它快递再重新设计,岂不是会浪费太多的时间,所以选个第三方提供的快递API是最为合理的
- 1.在服务器环境中安装centosyum install python3X[X代表版本号]ubuntuapt-get install pyt
- 本文实例讲述了php解析字符串里所有URL地址的方法。分享给大家供大家参考。具体如下:<?php// $html = the html
- <?php function genpage(&$sql,$page_size=10) { global $pages,$su
- 目录项目地址运行环境运行方法数据爬取(jd.comment.py)模型训练(train.py)情感分析(sentiment.analysis
- 一、数字类型所谓的“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的
- 本文实例讲述了PHP基于非递归算法实现先序、中序及后序遍历二叉树操作。分享给大家供大家参考,具体如下:概述:二叉树遍历原理如下:针对上图所示
- 问题,在一个程序内构建好了一个图,运行完之后想重新使用这个图进行计算,或者想同时在train完的时候做test,就会提示***变量已存在。解