Numpy从入门到实战
第一章
Numpy是什么
进行数组/矩阵计算,附带线性代数,傅立叶,随机数等一系列函数
优势:Python原生要写很多循环,性能慢
Numpy是很多数据科学类库的基础库,比如SciPy,Scikit-Learn,Tensorflow,PandlePandle等
第二章 Numpy编程入门
1.import
import numpy as np
2.性能对比
%timeit a(5)
第三章 Array对象
一.Array对象
array里的数据必须是同一数值类型
自身属性:
1.shape,返回一个元组,表示维度里具体有几个元素
2.ndim,维度数目
3.size,元素数目
4.dtype,元素类型
二.创建
1.List和嵌套List里创建
np.array([1,2,3,4,5])
np.array( [ [1,2,3,4,5], [6,7,8,9,19] ] )
2.预制的arange,ones/ones_like,zeros/zeros_like,empty/empyt_like,full/full_like,eye等函数创建
3.np.random模块创建随机数,比如randn生成指定为度的随机数
三.Array方法
1.逐元素加减乘除
2.面向多维的数组索引
3.sum/mean等聚合函数
4.线性代数计算,比如求解方程组,逆矩阵等
reshape函数:改变维度
arraa + 1:每个元素都?1
第四章.数组按索引查询
一.基础索引:
一维与List差不多:
x:全部
x[2]:单个
x[2:4]:切片
x[2:-1]
x[-3:]
x[:-3]
二维:
x[0,0]:x[0][0]
x[2]:单行
x[:2]:这个返回的是一个一维数组,有转置
切片会修改原来的数组,直接修改而不是复制得到一个新的
二.神奇索引:
整个数组进行索引,数组参数里是相应位置,获取一个新数组
argsort:排序,返回序列的索引数组
二维数组
x[[0,2]]:选择0行2行
x[[0,2], :]:同上
x[:, [0,2]]:所有行取0列,2列
x[[0, 2], [3, 4]]:指定0行2行,3列4列,返回一维数组
二维数组索引只要指定了行列坐标,就返回一维数字
三.布尔索引:
选择数组拷贝,对数组先做比较得到一个bool数组,再应用到数组里去
x>5:返回一个全是bool值的数组,其值取决于是否比5大
x[x>5]:返回比5大的数字组成的数组
二维数组:
x[x>5]:返回一个一维数组
条件组合:
condition = (x > 5) | (x < 4):返回布尔数组
x[condition]:数组选值
第五章.random的随机函数
可以参考官方文档,有三大部分
1.简单的随机函数
2.对数组随机打散
shuffle只打散行
permutation全打散,并且返回的是数组拷贝
3.复杂随机函数
最后一个参数是数据类型(可省略),倒数第二个是维度描述元组
第六章.数学统计函数
linspace:生成一个范围内,相应个数的点,均值切割
sum:和
prod:乘积
cumsum:累积加
cumprod:累积积
min:最小
max:最大
percentile:0-100百分位数
quantile:0-1分位数
median:中位数
average:加权平均
mean:平均值
std:标准差
var:方差
axis:上面的函数指定轴,计算轴为行还是列。为0是行(聚合韩式是跨行,消解行,而不是在行上计算),为1是列(聚合函数跨列,消解列,而不是在行上计算)。
可以理解为同性质的一起计算
广播:两个矩阵数目不一致,比如特征减去平均,要把平均行复制
标准化:每个列的量纲一致,不要差太大权重无法比较
第一章.介绍
更简单的数据结构,更快的速度,更多的分析工具
用于数据分析,数据处理,数据可视化
第二章.读取数据
读取表格类型的数据,才能分析
要有行有列
csv:read_csv
excel:read_excel
mysql:read_sql
引入类库
import pandas as pd
读取前几行:
df.head()
展现出来的数据,第一列是索引。然后是每个数据的列
几行几列:
df.shape()
columns:列名
index:索引
dtypes:每一列类型
第三章.数据结构:DataFrame和Series
DataFrame:二维数据,整个表格,多行多列
Series:一维数据,一行或者一列。包含了数据和数据相关的数据标签(索引)两个数组
创建Series:
1.pd.series([])
index:获取索引
values:获取数值
2.参数里index=指定索引
3.用python字典(hash)创建
查询Series:
类似字典,用key即索引获取值
DataFrame中查询出Series:
返回一行一列是Series
返回多行多列还是DataFrame
df[‘year‘]:year是列索引,返回year那一列的Series
df.loc[1]:查询第一行
返回多行:用切片,包含了尾部元素
第四章.5种查询数据的方法
查询常用函数
1.loc
2.iloc
3.where
4.query
loc既能查又能覆写
降维顺序:
DataFrame->Series->value
df.set_index(‘ymd‘, True):设置ymd那一列为索引,里边的值获取行
1.数值
loc[column1, column2]
2.列表
loc[行1, 行2]
3.区间
类似切片
4.条件
根据bool列表查询
5.函数
用lambda表达式代替布尔表达式
第五章.数据merge
不同DataFrame数据merge成一个大表
merge类似SQL的join语法
原文:https://www.cnblogs.com/cascle/p/12446036.html