python与go数据分析_利用Python数据分析-Numpy和Pands篇

书籍《利用Python进行数据分析》

Numpy--数组及矩阵,矢量计算

1、ndarray多维数组, matrix矩阵

2、针对整组数据进行快速运算的标准数学(统计)函数,(与list区别:无需循环编写程序)

3、用于读写磁盘数据工具及操作内存映射文件工具

4、线性代数、随机数生成及傅里叶变换

5、基于C语言API,具有良好的运行速率

创建函数

array

输入数据转换成ndarray(dtype可选)

arrange

内置range返回ndarray

zeros/zeros_like

根据指定shape和dtype返回全0数组或参考其他数组的shape和dtype

eye

创建N*N单位矩阵

ones/ones_like

根据指定shape和dtype返回全1数组或参考其他数组的shape和dtype

empty/empty_like

只分配空间但不填充任何值

基本函数

dtype

数据类型dtype(可自定义类型) 注:复数Complex不得转换成整数

shape

reshape

ravel

transpose/T

数组转置

stack/hstack/vstack/dstack/concatenate/

ix_

选取方形区域的索引器,花式索引x[ix_([0,1],[0,1])]=x[[0,1]][:,[0,1]]

统计函数

sqrt/square/log/sign/abs

min/max/ptp/sum

mean/var/std

argmin/argmax

最小最大值索引

any/all

数组中是否存在一个或多个True/数组中是否全是True

average

median

sort

in1d

测试一个数组中的值是否在另一个数组中的成员资格,返回bool数组

unique/intersect1d/union1d/setdiff1d/setxor1d

文件输入输出函数

loadtxt/savetxt

save/load

将数组以二进制格式保存磁盘或读取(npy)

savez

保存多个数组至压缩文件

线性代数函数(linalg)

dot

矩阵内积XTX

qr

QR分解

inv

逆矩阵

svd

奇异分解SVD

eig

特征值和特征向量

det

矩阵行列式

随机数函数(random)

normal(shape)

以shape规格正态分布数组

randint/rand/randn

seed

注:不同shape数组之间的运算叫做广播

Pandas--基于Numpy构建,提供高级数据结构和操作工具

Series是一种类似于一维数组的对象,由一组数据(Numpy数据类型)以及一组与之相关的数据标签组成。

Series

values/index

表现形式和索引,index不允许修改

isnull/notnull/fillna/dropna()

检测是否缺失/填充缺失值/过滤缺失值

name/index.name

Series(data, index=)

创建Series对象

reindex([], fill_value=,method=)

创建新索引,ffill、pad/bfill、backfill(前/后填充/搬运)

drop

丢弃指定索引上的项

sort_index()/order()

rank(method=,ascending=)

method参数破坏平级关系:max/min/first/average

corr/cov,corrwith

相关系数、协方差

unique,value_counts

唯一值,计算各值出现的频率

isin

Series各值是否存在于输入的值序列中,返回布尔数组

iget_value

根据位置的索引查值

DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型。

DataFrame

DataFrame(data, columns=, index=)

创建DataFrame对象

ix()

用过索引字段获取行

reindex([],method=,columns=)

相比较Series,可修改行列索引

add(df,fill_value=,axis=)       sub,div,mul

reindex(columns=,fill_value=)

apply(f,axis=) f=lambda x: x.max()-min()

将函数应用到各行或各列形成的一维数组上

applymap

针对元素级的python函数

sort_index(axis=,ascending=,by=)

by参数可根据多列排序

sum(axis=,level=),cumsum/cummin/cummax/cumprod

求和(,根据级别),cumsum为累计求和函数

mean(axis=,skipna=)/median/mad/var/std/quantile

skipna参数表示是否忽略NA

idxman/idxmin/argmin/argmax

达到最大或最小的索引或索引位置(整数

describe

列计算汇总统计

dropna(how=‘all’,axis=,thresh) /fillna(inplace=,limit=,axis=,method=)

过滤缺失值(all仅丢弃全NA的行或者列,thresh筛选)/填充缺失值(是否返回新对象,,,)

set_index(,drop=)/reset_index

将其中一个或多个列转换成行索引(是否允许列从原dataframe移除)

数据为缺失值或者NA值时,表示为NaN

可以输入给DataFrame构造器的数据

类型

说明

二维ndarray

数据矩阵,可传入行列标

数组、列表、元组或字典

每个序列会编程DataFrame的一列,长度必须相同

Numpy的结构化/记录数组

由数组组成的字典

Series组成的字典

每个Series都会成为一列,

由字典组成的字典

各内层字典会成为一列,键会合并成结果的行索引

字典或Series的列表

各项会成为DataFrame的一行,键索引值会成为列索引

列表或元组组成的列表

类似“二维ndarray”

另一个DataFrame

沿用该索引

Numpy的MaskedArray

类似“二维ndarray”,掩码值变成缺失值或者NA值

DataFrame索引选项

类型

说明

obj[val]

选取DataFrame单列或一组列

obj.ix[val]

选取DataFrame单行或者多行

obj.ix[:,val]

选取单列或多列

obj.ix[val1,val2]

同时选取行列

reindex

将1轴或多轴重新匹配索引

xs

根据标签选取单行或单列,返回Series

icol,irow

根据整数位置选取单列或单行,返回Series

get_value,set_value

根据行列标签选取/设置单个值

层次化索引:

MultiIndex

exp:   data = Series(np.random.randn(10), index=[['a',a','a','b','b','b','c','c','d','d'],[1,2,3,1,2,3,1,2,2,3]])

data.unstack()  数据被重新安排到DataFrame ;stack()  逆运算

swaplevel(调整某条轴上各级别的顺序),sortlevel(根据指定级别上的值对数据进行排序)

注:DataFrame和Series之间的运算和广播效果一样

axis = 1----行,axis = 0 -----列

Panei数据结构(待补充。。。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值