ipython 中的问号
获得相关的描述信息
%run 系统文件
执行某一个文件
ipython的模式命令
%magic 显示所有的魔术命令
%hist 命令历史输入信息
%pdb 异常发生后自动进入调试器
%reset 删除当前命名空间中的全部变量或名称
%who 显示Ipython 当前命名空间中的已经定义的变量
%time statemnent 给出代码执行时间
%timeit statement 多次实行代码,计算平均执行时间
基本读取数据的方法
维度:数据的组织形式
一维数据 列表 数组
一组数据的结构 列表中 数据类型可以不同,数组类型相同
二位数据 多个一维数据的组合形式
多维数据 在性维度上的扩展形成
高维数据 字典
一位数据 列表(有序) 集合(无序)
高维数据 字典形式或数据表示格式(json xml yaml)
numpy
np.ndarray
import numpy as np
使一维向量像变量
一个维度数据类型往往相同 节省内存和时间
ndarray
实际数据
描述数据的元数据
下表从0开始
轴axis 数据的维度
秩rank 轴的数量
ndarray 对象的属性
.ndim 秩轴的数量 或 维度的数量
.shape 对象的尺度 n行m列
.size 对象元素的个数
.dtype 对象的元素类型
.itemsize 为各元素的大小以字节为单位
ndarray的元素类型
bool
intc 32或64
int p 用于索引的整数 与c中的 sszie_t 一致 int32 或 int64
int8 int16 int32 int64
uint8-16-32-64
float16-32-64/
complex64 实部虚部都是32位浮点数类型
complex128 实部虚部都是64位浮点数类型
当每一个元素行传不相同的时候 非同质对象 尽量避免使用
生成ndarray 的方法
1从列表元组中创建
np.array( ,dtype=np.float32) 可以指定类型
2使用函数创建
np.arange() 元素从0到n-1
np.ones(shape) 根据shape 生成一个全1的类型,shape 是一个元组类型
np.zeros(shape) 同上
np.full(shape,val) 生成权威val的
np.eye(n) n阶的单位矩阵
np.ones_like(a) 形状相似
np.zeros_like(a)
np.zeros_like(a,val)
np.linspace(1,10,4, endpoint=False) 起始位置 种质元素 包含几个元素
np.logspace(1,2,base=4) 4^1 - 4^2 的等比数列
np.concatenate((a,b)) 将两个nparray合并
ndarray的方法
.reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape) 修改原数组(原数组改变) resize 不接受负数(-1) reshape 可以
.swapaxes(ax1,ax2) 对n维中的两个维度进行调换
.flatten() 对数组进行降维,返回一个一维数组 ,原数组不变
ndarray的类型变换
new_a=a.astype(new_type) // np.int 具体是那种类型有py自行决定
(不改变原数据)创建新的数组,拷贝
数组转列表
.tolist()
//慢得多
数组操作 索引切片
a[1:4:2] 开始编号:终止编号:步长
不含终值
a[0,1,2] 这是可以的
a[-1,-2,-3]这是表示从右向左的索引方式
a[:,1,-3]
a[:,1:3,:]
a[:,:,::2] 最后一个维度以2为步长
ndarray的运算
标量运算
1数组中的每一个元素都与之进行运算
a=a/a.mean()
标量元素
np.abs(x)
np.fabs()
np.sqrt()
np.squar()
np.log() np.log10() np.log2()
np.ceil() np.floor()
np.rint() 四舍五入
np.modf() 将数组的小数和整数分别以两个独立的数组形式返回
np.cos cosh sin sinh tan tanh
np.exp()
np.sign()
+-*/**
np.maximum(x,y) np.fmax()
np.minimum(x,y) np.fmin() 求对应的最大值最小值
np.mod(x,y) 元素及的模运算
np.copysign(x,y) 将y元素的符号复制给对应数组x中的对应元素
><==!=产生bool型的数组