pandas
pandas简介
pandas:python的数据分析包
特点
基于numpy的一种工具,为数据分析业务而创建的。
纳入了大量库和一些标准的数据模型,提供了高效操作大型数据集所需的工具
提供了大量能使我们快速便捷地处理数据的函数和方法
安装和导入
pip install pandas
import pandas as pd
pandas数据结构
Series
简介
ndarray对象的升级,是一个可以由用户自定义索引的一维数组对象,由index和value两部分组成。
创建方法
Series(data,index,dtype,copy)
data:可以是列表、元组、字典或ndarray对象
index:索引列表
dtype:数据数据类型
copy:当值为False时,用于复制数据
索引
显示索引
s[索引值]或s.iloc[索引值]
隐式索引
s[索引值]或s.loc[索引值]
当索引值和索引名有相同名称时,优先显示显式索引内容
切片
隐式切片
s[索引名start:索引名stop:setp]
s.iloc[索引名start:索引名stop:setp]
左闭右开
显式切片
s[索引名start:索引名stop:setp]
s.loc[索引名start:索引名stop:setp]
左闭右闭
DataFarme
简介
是二维数据结构,即数据行、列的表格方式排列。由行索引index、列索引columns和数据values组成。
创建方法
DataFrame(data,index,columns,dtype,copy)
data:列表、元组、字典、ndarry对象、csv数据、sql数据、excel数据及html表格数据。
字典:键是列索引,值以列表形式存储的列下面的值
csv数据:pd.read_csv('文件名',encoding,usecols,skiprows)
encoding:编码方式
usecols:从表格中选择哪些列,元组形式
skiprows:从表格中跳过几行
SQL数据
1.import pymysql
2.conn =pymysql.Connect(host,port,user,password,db,charset)
3.sql = ";"
4.read_sql(sql,conn)
index:行索引列表
columns:列索引列表
DataFrame(data,index,columns,dtype,copy)
常用属性
T:行列转换
index:获取行索引
colimns:获取列索引
values:获取数据,将DataFrame数据转换为ndarry
ndim:获取维度
shape:获取维度信息
size:获取元素个数
dtype:获取元素的数据类型
head(n):获取前n行数据
tail(n):获取后n行数据
索引
列索引
df[’列索引名‘]或df.列索引名
注意:不能写df[列索引值]
行列索引
先列后行
df[列索引][行索引]
df[列索引].loc/.iloc[行索引]
先行后列
df.loc/.iloc[行索引][列索引]
行索引
df.iloc[行索引值]或df.loc['行索引名']
注意:iloc和loc不能省
切片
df[行索引起始值:行索引结束值:步长]
注意:只做行切片,筛选部分列做列索引。
常用方法
sum(axis):分别对行、列进行求和,结果为Series
cumsum(axis):累计求和,结果是DataFrame
prod(axis):对行、列进行求积
cumprod(axis):累计求积
max(axis)/min(axis):最大值和最小值
var(axis)/std(axis):方差和标准差
mean(axis):求算数平均值
median(axis):求中位数
count(axis):非空值观测
mode(axis):众数,模值,数据样本中频度最高的数。
describe(axis):数据进行汇总统计
排序
sort_index(axis=0,
level=None,
ascending,inplace: 'bool' = False,
kind: 'str' = 'quicksort',
na_position: 'str' = 'last',
ignore_index: 'bool' = False)
axis:轴,当值为0时,进行纵向操作,当值为1时,进行横向操作
level:层次化索引,按哪个层次的索引进行排序
axcending:排序方式,当值为False时降序排序
kind:排序类型,默认快速排序法
na_position:当索引中有NaN时,它的显示位置,默认显示在最后
ignore_index:对索引进行重新排序(索引)
sort_values(axis=0,
ascending=True,
inplace=False,
kind='quicksort',
na_position='last',
ignore_index=False)
按值排序
数据的排序
concat(object,axis,keys,ignore_index,join)
object:对多张表对象进行连接,并将表存储为列表或元组
axis:轴,=0行连接,=1列连接
keys:为多张表定义表名,吧多个表名存储在列表或元组中
ignore_index:当值为True时为连接后的表重置索引
join:表连接方式,默认outer,只有inner和outer
mere(left,right,on,how,left_on,right_on,left_index,right_index,sffixes)
left,right:连接的左表和右表
on:指定两张表连接的列索引
how:连接方式
inner:内连接(默认)
outer:外连接
left:左连接
right:右连接
cross:笛卡尔连接
left_on.right_on:当两张表中某个列索引含义相同但名称不同时,人为定义这两个参数可将表按照这两个索引进行连接。
left_index,right_index:当两个表中无相同列索引时要将两表连接,设置这两个参数值为True就可以进行连接。
suffixes:为两个表相同列索引定义表名,必须与on同时使用
Pane1
资料领取请移步公众号“程序员森芋”