一、总结
一句话总结:
二、常用函数
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 [ ]: