文章目录
一点点精通篇
看了一点精通篇,看的太难受啦。
淦 我就说看着怎么这么困难,也来这个教程分为两个版本,这个是针对那些
换教程,开冲。
小白篇
linspace生成
“_” 原来这个可以表示上一个
随机生成器rng
先定义一个生成器,之后直接用了。(可还是习惯 np.random… 因为这个随机数也不用特别多地被用到的把,教程看到后面,发现这个真不错 )
广播方法
expend_dims 升维
reshape (tuple或者连续正整数)
resize
数据有可能会被改变
如果用 np.resize 会略有不同 元素数量不够时,会自动复制
np.resize(arr, (5, 3))
array([[ 9, 77, 65],
[44, 43, 86],
[ 0, 0, 0],
[ 9, 77, 65],
[44, 43, 86]])
元素数量多出来时,会自动截断
np.resize(arr, (2, 2))
利用索引反序
转置
切片和索引
泪目!!!!!终于到了切片和索引了
concentrate
行列分不太清,反正就是concentrate 默认是竖直按行拼接的
stack堆叠
repeat 重复扩增数据
split
where
extract 提取
choice 抽样
想我之前抽样用的都是pandas 里面的sample frac=
argsort 对索引动手
算术
array([[ 2, 15, 13, 9],
[ 9, 17, 2, 14],
[ 4, 2, 11, 19]])
开方
np.sqrt(arr)
log
np.log(arr)
超过5的都换成5
np.minimum(arr, 5)
array([[2, 5, 5, 5],
[5, 5, 2, 5],
[4, 2, 5, 5]])
低于5的都换成5
np.maximum(arr, 5)
array([[ 5, 15, 13, 9],
[ 9, 17, 5, 14],
[ 5, 5, 11, 19]])
四舍五入
np.round(np.sqrt(arr), 2)
array([[1.41, 3.87, 3.61, 3. ],
[3. , 4.12, 1.41, 3.74],
[2. , 1.41, 3.32, 4.36]])
floor/ceil
np.floor(np.sqrt(arr))
array([[1., 3., 3., 3.],
[3., 4., 1., 3.],
[2., 1., 3., 4.]])
np.ceil(np.sqrt(arr))
array([[2., 4., 4., 3.],
[3., 5., 2., 4.],
[2., 2., 4., 5.]])
mod <=> x % 3
np.mod(arr, 3)
array([[2, 0, 1, 0],
[0, 2, 2, 2],
[1, 2, 2, 1]])
还可以使用多个被除数,例如使用 arr-5这个array作为一一对应的被除数然后取余
array([[-3, 10, 8, 4],
[ 4, 12, -3, 9],
[-1, -3, 6, 14]])
np.mod(arr, arr-5)
array([[-1, 5, 5, 1],
[ 1, 5, -1, 5],
[ 0, -1, 5, 5]])
行列的不同广播
矩阵 dot matmul
这些也没啥机会用上。…