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

栏目: 数据库 · 发布时间: 6年前

内容简介:pandas导入excel用read_excel()方法:第一个参数是路径,既可以使用绝对路径又可以使用相对路径,如果文件名含有汉字,注意指定设置一下属性行索引默认从0开始,通过

外部数据导入

导入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 ,保留最后一个,还可设置 keepFalse ,一个也不保留。另也可指定列名去重,如传入参数 subset =['列名1,列名2'],注意是以列表形式传参;

  • head() 传入的参数代表获取前几行;

  • describe() 掌握数值的分布情况,如均值,最值,方差,分位数。

  • columnindex 可设置 列索引行索引 ,以 列表 形式传参;

  • set_index() 重新设置索引列,传入要指名要用做行索引的名称;

  • reset_index(level = None,drop=False,inplace = False) ,level指定要将层次化索引的第几级别转化为 columns ,第一个索引为0级,第二个为1级,默认全部转化为columns。 drop 是否将原索引删掉, inplace 是否修改原数据表;该方法常用于数据分组和数据透视表中。

  • rename() 重命名索引,可重新设置 columnsindex ,以 字典 形式传参, 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)复制代码

以上所述就是小编给大家介绍的《pandas的外部数据导入与常用方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Agile Web Application Development with Yii 1.1 and PHP5

Agile Web Application Development with Yii 1.1 and PHP5

Jeffrey Winesett / Packt Publishing / 2010-08-27

In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具