- round() 方法返回浮点数x的四舍五入值。
np.around(a, decimals=0, out=None)返回四舍五入的值,可以指定精度值。
a:输入数组
decimals:保留的小数位。负数时,保留小数点左侧位置。
n = np.array([-0.746, 4.6, 9.4, 7.447, 10.455, 11.555])
around1 = np.around(n) # [ -1. 5. 9. 7. 10. 12.]
around2 = np.around(n, decimals=1) # [ -0.7 4.6 9.4 7.4 10.5 11.6]
around3 = np.around(n, decimals=-1) # [ -0. 0. 10. 10. 10. 10.]
- np.array()与np.asarray()的区别
在执行array时,主要区别是当数据源是ndarray时,array会copy出一个副本,占用新的内存,asarray不会。
实例:
a = np.ones((3, 3))
b = np.array(a)
c = np.asarray(a)
a[1] = 2
print("a:", a)
print("b:", b)
print("c:", c)
结果:
a: [[1. 1. 1.]
[2. 2. 2.]
[1. 1. 1.]]
b: [[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
c: [[1. 1. 1.]
[2. 2. 2.]
[1. 1. 1.]]
- np.floor()返回不大于参数的最大整数。
n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])
floor = np.floor(n) # [ -2. -3. -1. 0. 1. 2. 11.]
- np.concatenate()
函数定义:
numpy.concatenate((a1, a2, …), axis=0, out=None)
官方案例:
>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
[3, 4],
[5, 6]])
>>> np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
[3, 4, 6]])
- np.stack()
函数定义:
numpy.stack(arrays, axis=0)
参考:numpy.stack最通俗的理解
简单例子:
>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> a.shape
(3,)
>>> b.shape
(3,)
>>> np.stack((a, b), axis=0).shape
(2, 3)
>>> np.stack((a, b), axis=1).shape
(3, 2)
复杂例子:
>>> a = np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
>>> b = np.array([[4, 5, 6], [4, 5, 6], [4, 5, 6]])
>>> a.shape
(3, 3)
>>> b.shape
(3, 3)
>>> np.stack((a, b), axis=0).shape
(2, 3, 3)
>>> np.stack((a, b), axis=1).shape
(3, 2, 3)
>>> np.stack((a, b), axis=2).shape
(3, 3, 2)