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

一、总结

一句话总结:

 

 

 

二、常用函数





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 [ ]: