Python 之 numpy

numpy是一个python语言的一个扩充程序库,提供了大量的维度数组和矩阵运算。

NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。
使用numpy之前先引入该包import numpy as np

1、np.argsort()

函数原型:numpy.argsort(a, axis=-1, kind='quicksort', order=None)[source]
默认返回数组值a按行从小到大的索引值。
axis=0 表示按列从小到大的索引值;
axis=1 表示按行从小到大的索引值。
示例:

1
2
3
4
5
6
7
>>> x = np.array([[0, 3], [2, 2]])
>>> np.argsort(x,axis=0)
array([[0, 1],
[1, 0]])
>>> p.argsort(x,axis=1)
array([[0, 1],
[0, 1]])

2、np.random.chose()

函数原型:numpy.random.choice(a, size=None, replace=True, p=None)
生成一个给定维度的随机样本
参数replace表示 生成的样本数据是否又重复元素,默认为True
参数p表示 生成的样本数据各个元素的出现概率,默认是均匀分布
示例:

1
2
3
4
5
6
>>> np.random.choice(5, 3)
array([0, 3, 4])
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
array([3, 3, 0])
np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
array([2, 3, 0])

3、np.argmax()

函数原型:numpy.argmax(a, axis=None, out=None)[source]¶
返回最大值第一次出现的索引
axis=0 表示按列从小到大的索引值;
axis=1 表示按行从小到大的索引值。
示例:

1
2
3
4
5
6
7
8
9
10
>>> a = np.arange(6).reshape(2,3)
>>> a
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)
array([1, 1, 1])
>>> np.argmax(a, axis=1)
array([2, 2])

4、np.random.seed()

生成随机数
seed()用于指定随机数生成时所用算法开始的整数值。
如果使用相同的seed()值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

5、np.prod()

函数原型:numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue at 0x40ba726c>)[source]
返回数组元素乘积
示例:

1
2
3
4
5
6
>>> np.prod([])
1.0
>>> np.prod([[1.,2.],[3.,4.]])
24.0
np.prod([[1.,2.],[3.,4.]], axis=1)
array([ 2., 12.])

写的还不错?那就来个红包吧!
0%