【对比Excel,轻松学习Python数据分析】第四章 准备食材——获取数据源,知识点

本文详细介绍了Python数据分析中如何导入和处理数据,包括Excel、CSV、txt及SQL文件的导入,重点关注了数据读取参数如index_col、header、usecols等的设置,以及如何处理中文路径和编码问题。同时提到了查看数据的方法,如.head()、.shape和.info()。
摘要由CSDN通过智能技术生成

看完前三章本来就打算放弃了,感觉讲的太草率,以为又是一本没有思考的骗钱书,吃过饭后看了一下第四章后面还是讲了一些有用的东西,起码是我刚做数据分析师是遇过的一些疑问。准梳理一下,顺便自己再复习一下。

知识点汇总:

4.1导入外部数据

导入Excel文件

data=pd.read_excel(io,sheet_name=0,index_col=0,header=0,usecols=0)

路径(io)的书写

1.r'c:\uesrs...\test.xlsx'#加r
2.'c:\\uesrs...\\test.xlsx'#加\
3.'c:/users..../test.xlsx'#使用/
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191105143227480.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5ODg1NDY1,size_16,color_FFFFFF,t_70)

sheet_name 设置读取的sheet
1.sheet_name=“名称”
2.sheet_name=“序号”

index_col 设置列索引
1.index_col 默认值(index_col = None)—重新设置一列成为index值
2.index_col=False——重新设置一列成为index
3.index_col=n——使用第n列数据作为index

header 设置行索引
1.header默认为header=0 使用第一行做为行索引
2.header=n 使用第n行作为行索引
usecols 设置导入数据的列
1.usecols默认全部导入
2.usecols=0 导入第一列数据
3.usecols=[列表] 导入切片数据

导入csv文件

data=pd.read_csv(io,sep=',',nrows=5,enconding='utf-8',engine='python')

所有的数据看起来很规整,这都是工具在后台根据某条规则进行切分的。resd_csv()默认文件的数据是按照逗号分隔的,但是有的文件是用其他符号分隔开的,这个时候就要适当的选择分隔符

sep 设置数据间分隔的类型
1.sep 默认是sep=","
2.sep常用的分隔符号有 逗号,空格,还有制表符(\t)

nrows 设置读取数据的行数
1.nrows=n 表示读取n行数据 row在excel中也是代表行数的

enconding 制定编码格式
Python3默认编码是utf-8,如果Excel保存格式是utf-8则不需要使用enconding来说明
如果Excel保存格式是gbk,gb2312等等其他编码形式,则需要使用enconding=‘gbk’来更改读取编码
(相信很多人都踩过这个坑吧)

因中文路径报错怎么办?
此坑我也踩过,折腾我很久,现在这本书在一开始就跟你讲清楚原因我觉得还是挺良心的

engine 指定解析语言(engine:发动机,引擎,这里是可以理解为解析语言的引擎)
这个错误产生的原因是当调用read_csv(),默认使用C语言作为解析语言,我们只需要把默认值C语言改成python就可以了

df1=pd.read(r'c:\uesrs\这个是一个中文文件夹.csv',engine='python',enconding='utf-8')

重点来了:
.csv文件也涉及行,列索引的设置,设定方法同.xlsx文件一致,也就是说这两个是想通的。

导入.txt文件

data=pd.read_table(io,sep=' ')#意思就是根据空格分隔

导入sql文件
拿MySQL举例
pd.read_sql(sql,con)
pd.read_sql(sql语句,数据库连接)

mport pymysql
sql='select * from db'
eng = pymysql.connect(host='localhost',user ='user',password='passswd',db='db',charset='utf-8')
df=pd.read_sql(sql,eng)
python连接impala数据库
from impala.dbapi import connect
import pandas as pd 
import numpy as np

#连接服务器
conn=connect(host='query.nonobank.com',port=21051)
cur = conn.cursor()
'''cursor意思是游标 游标对象。通过游标扫行SQL 查询并检查结果。
游标连接支持更多的方法,而且可能在程序中更好用。
能获得连接的游标,这个游标可以用来执行SQL查询'''

#sql执行
sql_data="select * from dmt_rm.fact_loan_after_static_daily where p_key=31 and stat_date='2019-07-24';"
cur.execute(sql_data) #执行sql语句
cur.colse

#调用工具包
from impala.util import as_pandas

#转换成dataframe
df = as_pandas(cur)

#保存文件
io=r"xxxxxxxxxxxxx"
writer=pa.ExcekWriter(io)
df.to_excel(writer,sheet_name='Sheet1')
writer.save()
writer.close()


4.2新建数据

4.3熟悉数据

.head()
查看部分数据
df.head(2)
查看前2行
df.head()
参看前5行
.shape
查看表格结构,多少行多少列
在这里插入图片描述
.info()
产看表格信息
列索引、一列多少个、什么数据类型、占内存空间大小等等
在这里插入图片描述
.describe()
描述数值类型字段的分布值
在这里插入图片描述
喜欢可以关注【小猪课堂】公众号了解更多内容
还可以添加qq:2658033991后备注书名加入读书群进行技术交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值