Python数据分析3


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

资料领取请移步公众号“程序员森芋”

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容