Numpy技巧
Posted lijianming180
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy技巧相关的知识,希望对你有一定的参考价值。
np.argsort(list)
argsort函数返回的是数组值从小到大的索引值
np.log()和np.exp()
1 2 3 4 5
| a = np.log(10) 2.30258509299 b = np.exp(a) 10.0
|
np.bincount()
在非负整数数组中计算每个值的次数。
1 2 3 4 5 6 7 8 9 10 11
| x = np.array([0, 1, 1, 3, 2, 1, 7]) np.bincount(x) x = np.array([7, 6, 2, 1, 4]) np.bincount(x)
|
如果minlength被指定,那么输出数组中bin的数量至少为它指定的数(如果必要的话,bin的数量会更大,这取决于x)
1 2 3 4 5 6 7 8 9 10 11
| x = np.array([3, 2, 1, 3, 1]) np.bincount(x, minlength=7) x = np.array([3, 2, 1, 3, 1]) np.bincount(x, minlength=1)
|
np.ones_like()
返回与给定数组一样形状的各个位置均为1的矩阵
1 2 3 5 6 7 8
| x = np.arange(6) x = x.reshape((2, 3)) x array([[0, 1, 2], [3, 4, 5]]) np.ones_like(x) array([[1, 1, 1], [1, 1, 1]])
|
np.eye()
生成单位矩阵
1 2 3 4 5 6
| np.eye(5, dtype=float) [[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]
|
从均匀分布中抽取样本。
样品均匀分布在半开区间[low,high)(包括低,但不包括高)。换句话说,给定区间内的任何值都同样可能被均匀抽取。
1 2 3 4 5 6 7
| matrix = np.random.uniform(low=-0.1, high=0.1,size=(5,5)) [[-0.00600973 -0.00504933 0.02940658 0.08732409 -0.06275549] [ 0.03665056 -0.05661787 -0.04970316 0.04048853 0.03820367] [ 0.00304319 0.03092026 0.09509651 0.07155621 0.06756137] [ 0.01997299 -0.08168592 0.09852984 0.03795403 0.00385968] [-0.0735317 0.01449163 -0.04123698 0.03660972 0.03571927]]
|
numpy.random.RandomState.binomial(n, p, size=None)
表示对一个二项分布进行采样(size表示采样的次数,draw samples from a binomial distribution.),参数中的n, p分别对应于公式中的n,p,函数的返回值表示n中成功(success)的次数(也即N)。
以上是关于Numpy技巧的主要内容,如果未能解决你的问题,请参考以下文章
python实战应用讲解-numpy专题篇实用小技巧(附python示例代码)
高能技巧!60 行 NumPy 代码 从头实现一个 GPT
26个jQuery代码片段使用技巧
python实战应用讲解-numpy专题篇实用小技巧(附python示例代码)
VS中添加自定义代码片段——偷懒小技巧
提效小技巧——记录那些不常用的代码片段