Python实战笔记-数据分析-Pandas

Pandas模块
核心:
a、外部数据的读取;
b、认知数据点额概览信息;
c、数据子集到筛选与清洗;
d、数据的汇总处理;
e、数据的合并与连接;

一、外部数据的读取
A、文本文件的读取(xlsx\csv\txt)
pd.read_csv(filepath or buffer ,sep= ‘,’, header=‘infer’, names=None, usecols=None, skiprows=None, skipfooter=None, converters=None, encoding=None )

filepath or buffer: 指定txt文件或csv文件所有的具体路径
sep: 指定原数据集中各字段之间的分隔符,默认为逗号" ,"
header: 是否需要将原来数据集中的第一行作为表头, 默认将第一行用作字段名称
names: 如果原数据集中没有字段,可以通过该参数在数据读取时给数据框添加具体的表头
usecols: 指定需要读取原数据集中的那些变量名
skiprows: 数据读取时,指定需要跳过原数据集开头的行数
skipfooter: 数据读取时,指定需要跳过原数据集末尾的行数
converters: 用于数据类型的转换(以字典的形式指定)
encoding: 如果文件中含有中文,有时需要指定字符编码
thousands: 去掉&符号

#需求数据读取txt文件
import pandas as pd
data01 = pd.read_csv(r’/Users/huanglili/Documents/python/pandas/第9章pandas模块的介绍/data_test01.txt’, skiprows = 2, sep = ‘,’, skipfooter = 3, converters = {‘id’:str},encoding = ‘utf-8’, thousands = ‘&’, usecols = [‘id’,‘income’])

#先去掉原先data_test01.txt的表头且另存为更改为data_test02.txt,再用names补充表头
data02 = pd.read_csv(r’/Users/huanglili/Documents/python/pandas/第9章pandas模块的介绍/data_test02.txt’, skiprows = 2, sep = ‘,’, skipfooter = 3, converters = {‘id’:str},encoding = ‘utf-8’, thousands = ‘&’, header = None, names = [‘id’,‘year’,‘month’,‘day’,‘gender’,‘occupation’,‘income’], usecols = [‘id’,‘income’])

B、电子表格的读取
pd.read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, na_values=None, thousands=None, convert_float=True)

io: 指定电子表格的具体路径
sheetname: 指定需要读取电子表格中的第几个Sheet,既可以传递整数也可以传递具体的Sheet名称
header: 是否需要将数据集的第一行用作表头,默认为是需要的
skiprows: 读取数据时,指定跳过开始行数
skip_footer: 读取数据时,指定跳过的末尾行数
index_col: 指定哪些列用作数据框的行索引(标签)

#读取电子表格
import pandas as pd
data02 = pd.read_excel(’/Users/huanglili/Documents/python/pandas/第9章pandas模块的介绍/data_test02.xlsx’, header = None, names = [‘Id’,‘Product’,‘Color’,‘Size’], converters = {‘Id’:str})

C、数据库的读取
pymysql.connect(host = None, user = None, password = ‘’, database = None, port = 0, charset = ‘’)

host: 指定需要访问的MySQL服务器
user: 指定访问MYSQL数据库的用户名
password: 指定访问MYSQL数据库的密码
database: 指定访问MYSQL数据库的具体库名
port: 指定访问MYSQL数据库的端口号
charset: 指定读取MYSQL数据库的字符集,如果数据库表中含有中文,一般可以尝试将该参数设置为’‘utf8’'或‘’qbk‘’

#安装pymysql
! pip install pymysql
#导入pymysql
import pymysql
bridge = pymysql.connect(host = ‘127.0.0.1’, user = ‘root’, password = ‘11111111’, database = ‘db_test’)
#筛选出包含“铁牌”的数据
pd.read_sql(“select * from db_test where user_level = ‘铁牌’”, con = bridge)
#关闭桥梁
bridge.close()

二、认知数据点额概览信息;
A、数据量
df.shape

B、变量列表
df.columns

C、变量类型
df.dtypes

D、统计描述 describe默认对数值型数据做统计描述
df.describe

三、数据子集到筛选与清洗;
A、数据子集筛选
1、点方法
2、[]方法

B、数据清洗
1、数据类型的修改
pd.to_datetime
df.column.astype

2、重复数据的识别与处理
df.dupicated
df.drop_duplicates

3、异常值的识别与处理
a, pd.to_datetime
b, df.column

4、缺失值的识别与处理
a, df.isnull
b, df.finull
c, df.dropnull

四、数据的汇总处理;
五、数据的合并与连接;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值