python机器学习库numpy---8、常用函数

python机器学习库numpy---8、常用函数

一、总结

一句话总结:

二、常用函数

博客对应课程的视频位置:

8、常用函数(一)-范仁义-读书编程笔记
https://www.fanrenyi.com/video/38/350

8、常用函数(二)-范仁义-读书编程笔记
https://www.fanrenyi.com/video/38/351

numpy常用函数有sin、sqrt(求平方根)、sort、transpose(转置)、max、

mean(average)、sum、median(中位数)、var(方差)、std(标准差)、cumsum(累加)、

np.clip(arr,5,9)(小于5的数全部让它变成5,大于9的数全部是9)


numpy中的axis为0为1分别表示的意思是什么

axis为0表示对列进行操作,axis为1表示为行进行操作

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

# 平均数
print(arr.mean())
print(np.average(arr))
print(np.average(arr,axis=0)) # 0是列
print(np.average(arr,axis=1)) # 1是行

5.75
5.75
[4. 5. 7. 7.]
[1.5  6.25 9.5 ]

1、sin

In [1]:
import numpy as np
arr = np.arange(12).reshape(3,4)
arr
Out[1]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
In [2]:
print(np.sin(arr))
[[ 0.          0.84147098  0.90929743  0.14112001]
 [-0.7568025  -0.95892427 -0.2794155   0.6569866 ]
 [ 0.98935825  0.41211849 -0.54402111 -0.99999021]]

2、求平方根:sqrt

In [3]:
print(np.sqrt(arr))
[[0.         1.         1.41421356 1.73205081]
 [2.         2.23606798 2.44948974 2.64575131]
 [2.82842712 3.         3.16227766 3.31662479]]

3、排序:sort

In [4]:
arr = np.random.rand(12).reshape(3,4)
print(arr)
[[0.6133163  0.40105172 0.60318273 0.67890187]
 [0.91493469 0.4497298  0.31922568 0.66318644]
 [0.28126538 0.8782578  0.76664562 0.34856477]]
In [5]:
print(np.sort(arr))
[[0.40105172 0.60318273 0.6133163  0.67890187]
 [0.31922568 0.4497298  0.66318644 0.91493469]
 [0.28126538 0.34856477 0.76664562 0.8782578 ]]
In [7]:
# 以每一列来从小到大排序
# axis,axis=0的时候表示以列来进行操作,为1的时候表示以行来进行操作
print(arr)
print(np.sort(arr,axis=0))
[[0.6133163  0.40105172 0.60318273 0.67890187]
 [0.91493469 0.4497298  0.31922568 0.66318644]
 [0.28126538 0.8782578  0.76664562 0.34856477]]
[[0.28126538 0.40105172 0.31922568 0.34856477]
 [0.6133163  0.4497298  0.60318273 0.66318644]
 [0.91493469 0.8782578  0.76664562 0.67890187]]
In [8]:
# 整个数组从小到大排序
print(np.sort(arr,axis=None))
[0.28126538 0.31922568 0.34856477 0.40105172 0.4497298  0.60318273
 0.6133163  0.66318644 0.67890187 0.76664562 0.8782578  0.91493469]
In [9]:
print(np.sort(arr,axis=None).reshape(3,4))
[[0.28126538 0.31922568 0.34856477 0.40105172]
 [0.4497298  0.60318273 0.6133163  0.66318644]
 [0.67890187 0.76664562 0.8782578  0.91493469]]

4、转置:transpose

In [10]:
import numpy as np
arr = np.arange(12).reshape(3,4)
print(arr)
print(np.transpose(arr))
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[[ 0  4  8]
 [ 1  5  9]
 [ 2  6 10]
 [ 3  7 11]]
In [11]:
print(arr.T)
[[ 0  4  8]
 [ 1  5  9]
 [ 2  6 10]
 [ 3  7 11]]

5、求最大值:max

In [17]:
arr = np.random.rand(12).reshape(3,4)
print(arr)
[[0.08615588 0.39306899 0.88981629 0.0076252 ]
 [0.52730672 0.66934283 0.58458758 0.77991555]
 [0.32811653 0.48020368 0.48118878 0.93871359]]
In [13]:
print(np.max(arr))
0.7300791661344581
In [14]:
# 以行的方式来找最大值
print(np.max(arr,axis=1))
[0.7045045  0.23861811 0.73007917]
In [16]:
# 以列的方式来找最大值
print(arr)
print(np.max(arr,axis=0))
[[0.7045045  0.47189083 0.04382594 0.34683246]
 [0.23861811 0.10207685 0.00825278 0.05717811]
 [0.73007917 0.37431436 0.0156451  0.07078938]]
[0.73007917 0.47189083 0.04382594 0.34683246]

6、求均值:mean(average)

In [1]:
import numpy as np
arr = np.arange(12).reshape(3,4)
print(arr)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
In [2]:
print(np.mean(arr))
print(np.average(arr))
5.5
5.5
In [3]:
# 以列的方式求均值
print(np.mean(arr,axis=0))
print(np.average(arr,axis=0))
[4. 5. 6. 7.]
[4. 5. 6. 7.]
In [4]:
# 以行的方式求均值
print(arr)
print(np.mean(arr,axis=1))
print(np.average(arr,axis=1))
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[1.5 5.5 9.5]
[1.5 5.5 9.5]

7、求和:sum

In [5]:
import numpy as np
arr = np.arange(12).reshape(3,4)
print(arr)
print(np.sum(arr))
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
66
In [6]:
# 以列的方式
print(np.sum(arr,axis=0))
[12 15 18 21]
In [7]:
# 以行的方式
print(np.sum(arr,axis=1))
[ 6 22 38]

8、中位数:median

In [8]:
import numpy as np
arr = np.arange(12).reshape(3,4)
print(arr)
arr[1][2]=9
print(arr)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[[ 0  1  2  3]
 [ 4  5  9  7]
 [ 8  9 10 11]]
In [9]:
print(np.median(arr))
print(np.median(arr,axis=0)) #列
print(np.median(arr,axis=1)) #行
6.0
[4. 5. 9. 7.]
[1.5 6.  9.5]

9、方差:var

方差的函数为var(),方差函数var()相当于函数mean(abs(x - x.mean())**2),其中x为矩阵。

In [10]:
print(np.var(arr))
print(np.var(arr,axis=0)) #列的方式
12.854166666666666
[10.66666667 10.66666667 12.66666667 10.66666667]

10、标准差:std

标准差的函数为std(), std()相当于sqrt(mean(abs(x - x.mean())**2)),或相当于sqrt(x.var())。

In [11]:
print(np.std(arr))
3.5852707940498254

11、累加:cumsum

In [12]:
print(arr)
print(np.cumsum(arr))
print(np.cumsum(arr,axis=1)) #行
[[ 0  1  2  3]
 [ 4  5  9  7]
 [ 8  9 10 11]]
[ 0  1  3  6 10 15 24 31 39 48 58 69]
[[ 0  1  3  6]
 [ 4  9 18 25]
 [ 8 17 27 38]]

12、修剪:clip

np.clip(arr,5,9)
小于5的数全部让它变成5,大于9的数全部是9
In [13]:
print(arr)
print(np.clip(arr,5,9))
[[ 0  1  2  3]
 [ 4  5  9  7]
 [ 8  9 10 11]]
[[5 5 5 5]
 [5 5 9 7]
 [8 9 9 9]]
In [ ]:
 
 
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
博主25岁,前端后端算法大数据人工智能都有兴趣。
大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
聊技术,交朋友,修心境,qq404006308,微信fan404006308
26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
人工智能群:939687837

作者相关推荐

原文地址:https://www.cnblogs.com/Renyi-Fan/p/13575491.html