本文主要是介绍datawhale巨硬的numpy教程《greenhand篇》笔记截图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一点点精通篇
- 小白篇
- linspace生成
- 随机生成器rng
- 广播方法
- expend_dims 升维
- reshape (tuple或者连续正整数)
- resize
- 利用索引反序
- 转置
- 切片和索引
- concentrate
- stack堆叠
- repeat 重复扩增数据
- split
- where
- extract 提取
- choice 抽样
- argsort 对索引动手
- 算术
- 行列的不同广播
- 矩阵 dot matmul
- 内容小结
一点点精通篇
看了一点精通篇,看的太难受啦。
淦 我就说看着怎么这么困难,也来这个教程分为两个版本,这个是针对那些
换教程,开冲。
小白篇
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
这些也没啥机会用上。…
内容小结
参考 datawhale巨硬的numpy教程《小白篇》
这篇关于datawhale巨硬的numpy教程《greenhand篇》笔记截图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!