import numpy as np
1.1创建数组的方法
a = np.array([1,2,3,4])
b = np.array(range(1,5))
c = np.arrange(1,6)
array : 将输入数据(列表、元组、数组以及其他序列)转换为ndarray(Numpy数组),如不表明(dtype=…),将自动判断,默认复制所有输入数据
array的属性:
- shape : 返回一个元组,表示array的维度(2,3)两行三列,(2,2,3)两个两行三列
- ndim : 返回一个数字,表示array的维度的数目
- size : 返回一个数字,表示array的所有所有数据元素的数目
- dtype : 返回array中元素的数据类型
1.1.1创建数字序列
np.arrange(5) : 返回array([0,1,2,3,4])
np.arrange(1,10,2) : 返回array([1,3,5,7,9])
1.1.2使用ones创建全是0的数组
np.ones(3) : 返回array([1,1,1])
np.zeros((3,4)) :返回
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
np.full((2,4),520) : 两行四列的520
1.1.3创建形状相同的数组
np.ones_like(x) :
np.full_like(x) :
1.1.4生成随机数组
import random
np.random.randn() #一个随机数
np.random.randn(3) #3个数
np.random.randn(3,2) #3行2列
np.random.randn(3,2,4)#3块,每块是2行4列
四舍五入:
np.round(a,2) #变量a,保留两位小数
1.2多维数组
1.2.1修改形状
a.reshape(3,4)
a.flatten() #不清楚数组中有多少个数,但是展开为一个一维数组
1.2.2数组计算
a ±*/ 2 : 数组中每个数字加减乘除2
相同维数的数组之间可以直接加减乘除
多维数组和一维数组也可以
1.3基础索引与切片
1.3.1基础索引
A[0,0] : 数组的0行0列
A[-1,2] : 数组的最后一行的第2列
A[2] :取第二行的所有列
A[-1] : 取最后一行
A[0:-1] : 取最后一行以外的所有行
A[:2] : 取所有行中的第2列
1.3.2布尔索引
a = np.arange(10)
b = a > 5
print([b]) #追加False 和 True
print([a[b]]) #6 7 8 9 10
1.3.3神奇索引
a = np.arrange(36).reshape(9,4)
print(a[[4,3,0,6]]) #输出第4,3,0,6行
print(a[1,5,4],[0,3,1]) #输出(1,0),(5,4),(4,1)
print(a[:,[1,2]]) #去所有行的第1,2列
1.4Numpy的轴
1.4.1轴
1.4.2数组转置换轴
a.repalce(2,3)
a.transpose : 行列转置
a.swapaxeds(1,0) : 轴转置
1.5随机函数
1.5.1随机状态种子
import random
1.5.2均匀分布中抽取样本
1.5.3标准正态分布随机数 N(0,1)
1.5.4随机整数
np.random.randint(3) : 0到3之间的整数
np.random.randint(1,10,size(5,)) : 1到10之间的整数组成一维数组
np.random.randint(1,10,size(5,4)) : 1到10之间的整数组成而且数组