机器学习必备神器:Numpy库常用函数实操(持续更新)

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

一、安装

pip install numpy

二、使用

1. Numpy.array()

功能:初始化一个numpy数组

import numpy as np

arr = [1, 2, 3, 4, 5]
arr_np = np.array(arr)
print(arr_np, type(arr_np))
[1 2 3 4 5] <class 'numpy.ndarray'>

2. Numpy.where()

功能:返回满足表达式的数组索引,注意返回是tuple结构

import numpy as np

arr_np = np.array([0, 1, 2, 3, 4])
rst = np.where(arr_np > 1)
print(rst, type(rst))
(array([2, 3, 4], dtype=int64),) <class 'tuple'>

3. Numpy.argwhere()

功能:返回满足表达式的数组索引,注意返回是二维数组

import numpy as np

arr_np = np.array([[0, 1, 2, 3, 4], [-1, 0, 1, 2, 3]])
rst = np.argwhere(arr_np > 1)
print(rst, type(rst))
# 矩阵计算,返回值依次返回维度索引
[[0 2]
 [0 3]
 [0 4]
 [1 3]
 [1 4]] <class 'numpy.ndarray'>

4. Numpy.arange()

功能:根据起止数字,生成对应numpy数组

import numpy as np

arr_np = np.array([[0, 1, 2, 3, 4], [-1, 0, 1, 2, 3]])
rst = np.arange(2, 12, 3)  # st et offset
print(rst, type(rst))
[ 2  5  8 11] <class 'numpy.ndarray'>

5. Numpy.abs()

功能:计算数组所有元素的绝对值

import numpy as np

arr_np = np.array([[0, 1, -2, 3, 4], [-1, 0, 1, 2, 3]])
rst = np.abs(arr_np)
print(rst, type(rst))
[[0 1 2 3 4]
 [1 0 1 2 3]] <class 'numpy.ndarray'>

6. Numpy.sqrt()

功能:计算数字的平方根

import numpy as np

arr_np = np.array([0, 1, 5, 9, 16])
rst = np.sqrt(arr_np)
print(rst, type(rst))
[0.         1.         2.23606798 3.         4.        ] <class 'numpy.ndarray'>

7. Numpy.square()

功能:计算源数组的平方

import numpy as np

arr_np = np.array([0, 1, 5, 9, 16])
rst = np.square(arr_np)
print(rst, type(rst))
[  0   1  25  81 256] <class 'numpy.ndarray'>

8. Numpy.sum()

功能:计算数组的和,如果数组有多维,会降维计算

import numpy as np

arr_np = np.array([[0, 1, 5, 9, 16], [0, 1, 5, 9, 16]])
rst = np.sum(arr_np)
print(rst, type(rst))
62 <class 'numpy.int32'>

9. Numpy.maximum()

功能:计算两个数组的较大值,也可用来计算数组和数字的较大值

import numpy as np

arr_np_1 = np.array([0, 1, 5, 9, 16])
arr_np_2 = np.array([1, 3, 4, 9, 16])
rst = np.maximum(arr_np_1, arr_np_2)
print(rst, type(rst))
[ 1  3  5  9 16] <class 'numpy.ndarray'>

10. Numpy.searchsorted()

功能:返回数组中某个值的lower_bound索引

import numpy as np

arr_np_1 = np.array([0, 1, 5, 9, 16])
rst = np.searchsorted(arr_np_1, 5)
print(rst, type(rst))
2 <class 'numpy.int64'>

11. Numpy.logical_or()

功能:计算两个表达式结果的逻辑或

import numpy as np

arr_np_1 = np.array([0, 1, 5, 9, 16])
rst = np.logical_or(arr_np_1 < 2, arr_np_1 > 14)
print(rst, type(rst))
[ True  True False False  True] <class 'numpy.ndarray'>

12. Numpy.logical_and()

功能:计算两个表达式结果的逻辑与

import numpy as np

arr_np_1 = np.array([0, 1, 5, 9, 16])
rst = np.logical_and(arr_np_1 > 2, arr_np_1 < 14)
print(rst, type(rst))
[False False  True  True False] <class 'numpy.ndarray'>

13. Numpy.repeat()

功能:创建一个重复值的数组

import numpy as np

rst = np.repeat(True, 10)
print(rst, type(rst))
[ True  True  True  True  True  True  True  True  True  True] <class 'numpy.ndarray'>

14. Numpy.count_nonzero()

功能:返回数组中非0的个数

import numpy as np

rst = np.count_nonzero([1, 2, 3, 4, 5, 6, 0])
print(rst, type(rst))
6 <class 'int'>

15. Numpy.copy()

功能:返回数组的深拷贝数组

import numpy as np

rst1 = np.array([1, 2, 3, 4])
rst2 = np.copy(rst1)
rst2[1] = 4
print(rst2, type(rst2))
[1 4 3 4] <class 'numpy.ndarray'>

16. Numpy.bitwise_and()

功能:返回两个数组按位与的值,注意多个数组逻辑运算可以用reduce()

import numpy as np

rst1 = np.array([1, 2, 3, 4])
rst2 = np.array([3, 4, 5, 6])
rst = np.bitwise_and(rst1, rst2)
print(rst, type(rst))
[1 0 1 4] <class 'numpy.ndarray'>

17. Numpy.bitwise_or()

功能:返回两个数组按位或的值

import numpy as np

rst1 = np.array([True, 2, 3, 4])
rst2 = np.array([True, 4, 5, 6])
rst = np.bitwise_or(rst1, rst2)
print(rst, type(rst))
[1 6 7 6] <class 'numpy.ndarray'>

18. Numpy.equal()

功能:判断两个数组对应元素是否相同

import numpy as np

rst1 = np.array([1, 2, 3, 4])
rst2 = np.array([2, 4, 3, 6])
rst = np.equal(rst1, rst2)
print(rst, type(rst))
[False False  True False] <class 'numpy.ndarray'>

19. Numpy.not_equal()

功能:判断两个数组对应元素是否不同

import numpy as np

rst1 = np.array([1, 2, 3, 4])
rst2 = np.array([2, 4, 3, 6])
rst = np.not_equal(rst1, rst2)
print(rst, type(rst))
[ True  True False  True] <class 'numpy.ndarray'>

20. Numpy.zeros()

功能:返回0组成的数组

import numpy as np

rst = np.zeros(20)
print(rst, type(rst))
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] <class 'numpy.ndarray'>

21. Numpy.polyval()

功能:根据方程系数计算多次方程

import numpy as np

rst = np.polyval([1, 3, 4], [1, 2, 3, 4])
print(rst, type(rst))
[ 8 14 22 32] <class 'numpy.ndarray'>

22. Numpy.power()

功能:返回数组元素的n次方

import numpy as np

rst = np.power([1, 3, 4], 3)
print(rst, type(rst))
[ 1 27 64] <class 'numpy.ndarray'>

23. Numpy.concatenate()

功能:多维数组降成一维

import numpy as np

a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
rst = np.concatenate(a)
print(rst, type(rst))
[ 1  2  3  4  5  6  7  8  9 10] <class 'numpy.ndarray'>

24. Numpy.sort()

功能:数组排序

import numpy as np

a = np.array([[1, 2, 6, 4, 5], [6, 7, 12, 9, 10]])
rst = np.sort(a)
print(rst, type(rst))
[[ 1  2  4  5  6]
 [ 6  7  9 10 12]] <class 'numpy.ndarray'>

25. Numpy.argsort()

功能:返回数组排序之后的索引

import numpy as np

a = np.array([[1, 2, 6, 4, 5], [6, 7, 12, 9, 10]])
rst = np.argsort(a)
print(rst, type(rst))
[[0 1 3 4 2]
 [0 1 3 4 2]] <class 'numpy.ndarray'>

26. Numpy.unique()

功能:将多维数组降成一维,然后排序去重

import numpy as np

a = np.array([[1, 2, 6, 4, 5], [6, 7, 12, 9, 10]])
rst = np.unique(a)
print(rst, type(rst))
[ 1  2  4  5  6  7  9 10 12] <class 'numpy.ndarray'>

27. Numpy.mat()

功能:将数组转为矩阵格式

import numpy as np

a = np.array([[1, 2, 6, 4, 5], [6, 7, 12, 9, 10]])
rst = np.mat(a)
print(rst, type(rst))
[[ 1  2  6  4  5]
 [ 6  7 12  9 10]] <class 'numpy.matrix'>

28. Numpy.reshape()

功能:修改矩阵的维度

import numpy as np

a = np.array([[1, 2, 6, 4, 5], [6, 7, 12, 9, 10]])
print(a.shape)
rst = a.reshape(5, 2)
print(rst, type(rst))
(2, 5)
[[ 1  2]
 [ 6  4]
 [ 5  6]
 [ 7 12]
 [ 9 10]] <class 'numpy.ndarray'>

29. Numpy.sin()

功能:求弧度角的正弦值

import numpy as np

a = np.array([30/180*np.pi, 60/180*np.pi, 90/180*np.pi])
rst = np.sin(a)
print(rst, type(rst))
[0.5       0.8660254 1.       ] <class 'numpy.ndarray'>

30. Numpy.cos()

功能:求弧度角的余弦值

import numpy as np

a = np.array([30/180*np.pi, 60/180*np.pi, 90/180*np.pi])
rst = np.cos(a)
print(rst, type(rst))
[8.66025404e-01 5.00000000e-01 6.12323400e-17] <class 'numpy.ndarray'>

31. Numpy.min()

功能:求数组的最小值

import numpy as np

a = np.array([0.2, 0, 0.5, 1])
rst = np.min(a)
print(rst, type(rst))
0.0 <class 'numpy.float64'>

32. Numpy.max()

功能:求数组的最大值

import numpy as np

a = np.array([0.2, 0, 0.5, 1])
rst = np.max(a)
print(rst, type(rst))
1.0 <class 'numpy.float64'>

33. Numpy.diff()

功能:离散差值计算

import numpy as np

a = np.array([0.2, 0, 0.5, 1])
rst = np.diff(a)
print(rst, type(rst))
[-0.2  0.5  0.5] <class 'numpy.ndarray'>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chook_lxk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值