非专业,个人观看movan_python中numpy的笔记
https://morvanzhou.github.io/
可能有多出不严谨地方,谨慎观看。
----
mean和average
np.mean和np.average都是numpy中求取均值的函数,但区别在于mean总是求得计算平均数。
而average可以计算加权的平均数。
np.mean用法具体如下
A=np.array([[1,2],Tu[3,4],[5,6]])
print (np.mean(A)) #3.5#求所有元素的平均数
print(np.mean(A,axis=0))#[3,4]#按列求平均数
axis=1 #按行求平均数。
##关于axis=0和1,我想到一种方法来记。axis=0就是向下搜索,换列时重置。=1就是向右搜索,换行时重置。
np.average的用法
参考官方文档,用法如下:
>>> data = np.arange(6).reshape((3,2)) >>> data array([[0, 1], [2, 3], [4, 5]]) >>> np.average(data, axis=1, weights=[1./4, 3./4]) #加权求均值的方法 array([ 0.75, 2.75, 4.75]) >>> np.average(data, weights=[1./4, 3./4]) Traceback (most recent call last): ... TypeError: Axis must be specified when shapes of a and weights differ.
np.median()求解中位数 #数据样本数为偶数,中位数为中间两数的平均值,若样本是奇数,中间数为样本中间的数。
np.transpose()表示矩阵的转置 或可以表示为A.T
np.cumsum()累加,np.diff()累差,np.nonzero()搜索矩阵中不为0的元素
用官方例子来说明nonzero的用法。
>>> x = np.array([[1,0,0], [0,2,0], [1,1,0]]) >>> x array([[1, 0, 0], [0, 2, 0], [1, 1, 0]])
>>> np.transpose(np.nonzero(x)) array([[0, 0], [1, 1], [2, 0], [2, 1])
其中[0,0],[1,1],[2,0],[2,1]表示的就是x矩阵中4个不为0的元素的坐标。
np.sort() 每一行从小到大排序
>>> a = np.array([[1,4],[3,1]])
>>> np.sort(a) # sort along the last axis
array([[1, 4],
[1, 3]])
>>> np.sort(a, axis=None) # sort the flattened array
array([1, 1, 3, 4])
>>> np.sort(a, axis=0) # sort along the first axis
array([[1, 1],
[3, 4]])
对列表进行排序,单一评定要素
>>> dtype = [('name', 'S10'), ('height', float), ('age', int)]
>>> values = [('Arthur', 1.8, 41), ('Lancelot', 1.9, 38),
... ('Galahad', 1.7, 38)]
>>> a = np.array(values, dtype=dtype) # create a structured array
>>> np.sort(a, order='height')
array([('Galahad', 1.7, 38), ('Arthur', 1.8, 41),
('Lancelot', 1.8999999999999999, 38)],
dtype=[('name', '|S10'), ('height', '<f8'), ('age', '<i4')])多评定要素排序,先按age排序,在age相同时再按height排序
>>> np.sort(a, order=['age', 'height'])
array([('Galahad', 1.7, 38), ('Lancelot', 1.8999999999999999, 38),
('Arthur', 1.8, 41)],
dtype=[('name', '|S10'), ('height', '<f8'), ('age', '<i4')])对矩阵最大最小值进行限制 np.clip(Array,Array_min,Array_max),作用是将Array中比min小的还有比max大的变成min和max
---一维索引和二维索引
一维索引A[1],二维索引A[1][2],切片索引A[1,1:3]
逐行或逐列打印
逐行
for row in A
print(row)
逐列
for column in A.T
print(column)
逐个打印(两种)
1/print(A.flatten())
2/
for item in A.flat
print(item)
---
矩阵合并
1,A和B是两个1*3列的矩阵,利用vstack和hstack可以将两个1*3的矩阵变成2*3的矩阵或者1*6的矩阵
C=np.vstack(A,B) #变成2*3的矩阵
C=np.hstack(A,B)#变成1*6的矩阵
合并多个矩阵
C=np.concatenate((A,B,B,A),axis=0) #变成n行1列的矩阵
C=np.concatenate((A,B,B,A),axis=1) #变成1行n列的矩阵
这篇笔记介绍了numpy库中求均值的`np.mean`和`np.average`函数,包括它们的区别和用法。还涵盖了中位数、矩阵转置、累加、累差、非零元素查找、排序、矩阵限制以及一维和二维索引的操作。此外,讲解了如何通过`vstack`、`hstack`和`concatenate`进行矩阵合并。
5162

被折叠的 条评论
为什么被折叠?



