Pandas-简介&读取数据方法

本文介绍了Pandas库的基本概念和应用,详细讲解了如何使用Pandas读取CSV、TXT文件,以及Excel和数据库中的数据。通过read_csv()、read_excel()和read_sql()函数,学习数据导入的各种参数设置,便于数据预处理和分析。

一、Pandas简介

1.Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。

2.Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。

3.Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。

4.Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。

5.Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

6.Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

二、 Pandas应用

Pandas 的主要数据结构包括 Series (一维数据)与 DataFrame(二维数据)。从DataFrame中取出某列或某行则转为Series类型的数据,从DataFrame或Series中去除某个数据则为编程语言中固有的某种类型(int,float,str等)

三、Pandas读取数据的函数介绍

1、读取".csv",".txt"文件数据

        通过函数pandas.read_csv()读取数据集

rea_csv()参数介绍():

  • filepath_or_buffer:文件的路径、文件的链接等
  • sep:指定读取文件每列的分隔符(如果不指定csv文件中默认为逗号为分隔符)
  • delimiter:也是分隔符,如果指定delimiter则sep失效
  • header:header=None:列名会作为第一行数据,没有列名则正常读取,与后面的names参数一起使用。当header=0,1,..9...时数据就从第几行的下一行开始读取。
  • names:给读取出的数据列赋予新的列名,可与header配合使用

命名新列名的使用技巧:        

        1.原数据有列名:header=None,命名新的列名放入names=['','',''...,'']中,原列名将作为新数据集第一行数据;header=0,将抛弃原数据的列名(跳过第0行),即输出正常的数据(新列名下面对应完整数据)。

        2.原数据无列名:可直接为读取的数据集命名新的列名,输出新列名及对应完整数据

        3.不论有无列名:header后面设置数字几则从第几行的下一行开始读取数据,诺给出新的列名,则返回对应的新列名以及起始行下一行后的数据

2、读取excel文件

        调用pandas.read_excel()

read_excel()参数介绍:

  • io:文件对象或文件路径
  • sheet_name:指定加载excel中的表;指定加载表的方式有:str、int、list、None;

             str:指定加载的表名,默认为:“Sheet1”,如“Sheet1”,就是“Sheet1”;“Sheet2”加载表“sheet2”(注意这里的”Sheet1“是区分大小写的!要与原excel中的表名一致)

             int:指定加载的表索引,默认从0开始,第一行表下标既为0,序号依次往下。

             list:[0,1]表示加载第1,2张表,["Sheet1","Sheet2"]表示加载表名为“Sheet1”,“Sheet2”的表。

             sheet_name=None:表示将excel中的所有表格作为加载数据。

  • header:指定读取数据的起始行号,默认为0,支持int,list of int。若指定为list,则列表中的行都将作为列的行索引,即合并为MultiIndex
  • names:用于为读取的数据命名新的列名,若原数据没有列名且并没有命名新列名的想法,则header需显示的指定为None,否则原数据的第一行则会成为列的索引(即成为列名),其他的命名规则类似于read_csv()的names用法。

3、从数据库中读取数

        读取MySQL数据库:

①引入pymysql的包:import pymysql

②连接mysql数据库并返回一个对象(个人理解:即与数据的通道):conn = pymysql.connect(host=' ', user=' ', passward=' ', database=' ', charset=' ')

  • host:数据库主机ip
  • user:数据库用户名
  • passward:数据库密码
  • database:所用的数据库名
  • charset:字符集

③调用pd.read_sql()查询数据并返回一个pandas下的DataFrame数据类型(即一个二维的数据表):mysql_data = pd.read_sql(sql, con=)

  • sql:sql命令语句
  • con:连接数据库的engine(个人理解:就是一个连接DB的通道)
  • index_col:选择某一列作为index
  • coerce_float:将数字形式的字符串以float的数据类型读取
  • parse_dates:将某一列日期类型的字符串转为datatime类型的数据读入,与pd.to_datetime函数的功能类似
  • columns:要选择的列,可结合前面的sql语句使用。也可不指定,sql语句中已经涉及到了要选择的列
  • chunksize:设置数字后,则返回一个可迭代的generator,每次迭代输出行数就是前面设置的值的大小

相同的思想可应用于连接sqlite3等其他数据库对数据进行操作

参考:

1.pd.read_csv()官方文档

2.pd.read_excel()官方文档

3.pd.read_sql()官方文档

4.(9条消息) pd.read_sql()知道这些就够用了_漫步量化-优快云博客_pandas read_sql

5.(9条消息) Pandas read_excel()参数详解_leenuxcore的博客-优快云博客_read_excel参数

6.(9条消息) pymysql详解(connect连接、游标cursor、获取查询结果集、insert into需要注意的地方)_XC_SunnyBoy的博客-优快云博客

7.Pandas 教程 | 菜鸟教程 (runoob.com)

8.B站学习视频:up主:蚂蚁学Python

声明:本文章为个人学习总结,大家可参考借鉴,一起学习进步。并不用于商用!欢迎指正与交流,若有侵权行为,请联系本人,本人会做出调整。
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值