看完前三章本来就打算放弃了,感觉讲的太草率,以为又是一本没有思考的骗钱书,吃过饭后看了一下第四章后面还是讲了一些有用的东西,起码是我刚做数据分析师是遇过的一些疑问。准梳理一下,顺便自己再复习一下。
知识点汇总:
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后备注书名加入读书群进行技术交流。