python常见问题

2020/03/01

1. random.randrange

返回指定递增基数集合中的一个随机数,基数默认值为1

语法:random.randrange ([start,] stop [,step])。

start -- 指定范围内的开始值,包含在范围内; stop -- 指定范围内的结束值,不包含在范围内;step -- 指定递增基数

randrange()方法返回指定递增基数集合中的一个随机数,基数默认值为1

例如:

输出 100 <= number < 1000 间的偶数print "randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2)

输出 100 <= number < 1000 间的其他数print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)

输出结果:

randrange(100, 1000, 2) : 976

randrange(100, 1000, 3) : 520

2. np.newaxis

np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置,示例如下:

x1 = np.array([1, 2, 3, 4, 5])
# the shape of x1 is (5,)
x1_new = x1[:, np.newaxis]
# now, the shape of x1_new is (5, 1)
# array([[1],
#        [2],
#        [3],
#        [4],
#        [5]])
x1_new = x1[np.newaxis,:]
# now, the shape of x1_new is (1, 5)
# array([[1, 2, 3, 4, 5]])

再比如:

In [124]: arr = np.arange(5*5).reshape(5,5)

In [125]: arr.shape
Out[125]: (5, 5)

# promoting 2D array to a 5D array
In [126]: arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]

In [127]: arr_5D.shape
Out[127]: (1, 5, 5, 1, 1)

3. numpy中np.max和np.maximum

np.max(a, axis=None, out=None, keepdims=False)
求序列的最值, 最少接受一个参数, axis默认为axis=0即列向,如果axis=1即横向。
例如:

 val = np.max([-2, -1, 0, 1, 2])
 print(val) # 2

np.maximum(X, Y, out=None)
X和Y逐位进行比较,选择最大值,最少接受两个参数

val = np.maximum([-3, -2, 0, 1, 2], 0)
print(val) # array([0, 0, 0, 1, 2])

4. np.prod()

用来计算所有元素的乘积,对于有多个维度的数组可以指定轴,如axis=1指定计算每一行的乘积.
默认情况下计算所有元素的乘积:

import numpy as np
val = np.prod([1., 2.])
print(val) # 2.0

若输入数据是二维的:

val = np.prod([[1, 2], [3, 4]])
print(val) # 24

也可以按照指定轴进行运算:

val = np.prod([[1,2], [3,4]])
print(val) # array([2, 14])

你可能感兴趣的:(python常见问题)