numpy笔记(2)私人

这篇笔记介绍了numpy库中求均值的`np.mean`和`np.average`函数,包括它们的区别和用法。还涵盖了中位数、矩阵转置、累加、累差、非零元素查找、排序、矩阵限制以及一维和二维索引的操作。此外,讲解了如何通过`vstack`、`hstack`和`concatenate`进行矩阵合并。
部署运行你感兴趣的模型镜像

非专业,个人观看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列的矩阵

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值