Python学习-[numpy库]-初级

创建数组

np.array([1, 2, 3, 4, 5])

使用zeros创建全零数组

np.zeros((3, 2))

代表一个三行二列的数组:

array([0., 0.],
	  [0., 0.], 
	  [0., 0.])

获取数组的尺寸

a = np.zeros((3, 2))
a.shape
#输出结果为:(3, 2)

第一个数据展示数组第一维的长度,第二个数据展示数组第二维的长度,以此类推

扩展-创建一个全都是1的数组

np.ones((2, 4))

使用arange创建一个递增或者递减的数列

np.arange(3, 7)
#结果为array([3, 4, 5, 6])

注意这里的(3, 7)是一个左开右闭的区间

使用linspace均分一块长度的数据

np.linspace(0, 1, 5)
#划分结果为array([0. , 0.25, 0.5, 0.75, 1. ])

这里前两个数指的是范围,最后一个数指的是划分的样本数量。

创建一些完全随机的数

np.random.rand(2, 4)

生成两行四列完全随机的数字

指定numpy数组的数据类型

在numpy中,数组默认的类型是64位的浮点数,修改数据类型通过使用dtype来修改

a = np.zeros((4, 2), dtype=np.int32)

有np.int8/16/32/64,np.uint8/16/32/64,np.float32/64,bool,str等等

转换数据类型

a = np.zeros((2, 4))
b = a.astype(int)

加法和除法

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
a + b
#计算结果为np.array([5,7,9])
a/b
#计算·结果为np.array([0.25, 0.4, 0.5])

乘法

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
np.dot(a, b)
#np.dot会将俩个数据进行点乘运算,结果为32
a = np.array([1, 2], [3, 4])
b = np.array([2, 0], [0, 2])
a @ b
#矩阵乘法,和np.matmul()一样,输出array([2,4], [6, 8])

平方根

a = np.array([1, 2, 3])
np.sqrt(a)
#结果array([1, 1.41421356, 1.73205081])

三角函数

a = np.array([1, 2, 3])
np.sin(a)
np.cos(a)
#array([0.74147098, 0.90929743, 0.14112001])
#array([0.54030231, -0.41614684, -0.9899925])

对数和指数运算

a = np.array([1, 2, 3])
np.log(a)
np.power(a, 2)
#array[0.        , 0.69314718, 1.09861229]
#array([1, 4, 9], dtype=int32)

广播-举例乘法

a = np.array([1, 2, 3])
a * 5
#array([5, 10, 15])

广播-举例加法

a = np.array([[1], [10], [20]])
b = np.array([0, 4, 2])
a + b
#array([[1, 2, 3], [10, 11, 12], [20, 21, 22]])

不同尺寸的数组做运算时,numpy会将其扩展至相同的尺寸,这一性质叫做广播

在这里插入图片描述

最小最大值

a = np.array([1, 2, 3, 4, 5])
a.min()
a.max()
#输出1和5

最小最大值索引

a = np.array([1, 2, 3, 4, 5])
a.argmin()
a.argmax()
#输出0和4

求和

a = np.array([1, 2, 3, 4, 5])
a.sum()
#输出15

平均值

a = np.array([1, 2, 3, 4, 5])
a.mean()
#输出3.0

中位数

a = np.array([1, 2, 3, 4, 5])
np.median(a)
#输出3.0

方差和标准方差

a = np.array([1, 2, 3, 4, 5])
a.var()
a.std()
#输出2.0和1.4142135623730951

维度处理

对于上述数据,我们可以使用axis对维度进行处理

a = np.array([1, 2, 3, 4, 5], [5, 6, 7, 8, 9])
a.sum(axis=0)
#输出:array([6, 8, 10, 12, 14])这里axis=0指的是第一维度,也就是纵向相加
a.sum(axis=1)
#输出:array([15,35])这里axis=1指的是第二位维度,也就是横向相加

获取下标元素

a = np.array([1, 2, 3], [4, 5, 6])
a[0, 1]
#输出:2

寻找符合条件的值

a = np.arange(10)
#这里a是:array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a[a < 3]
#这里是:array([0, 1, 2])
#这里可以使用多种不同的条件,包括a[(a > 3) & (a % 2 == 0)]

切片获取

a = np.array([1, 2, 3], [4, 5, 6])
a[0, 0:2]
#输出array[1, 2]

0:2代表[0,2)这个区间,左闭右开

a = np.array([1, 2, 3], [4, 5, 6])
a[0, :]
#这样可以输出第一行所有的元素,也可以直接去掉冒号
a[0]
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
a[0:9:2]
#输出为array([1, 3, 5, 7, 9])
a[0:9:3]
#输出为array([1, 4, 7])

这里第二个冒号后面的指切片距离,每隔几个数选一个数字,这个跨度可以选负数,选负数的话就可以从右往左取

a = np.array([1, 2, 3, 4, 5])
a[4:1:-2]
#输出是array([5, 3])

所以经常会看到这种写法:

a = np.array([1, 2, 3, 4, 5])
a[::-1]
#输出是array([5, 4, 3, 2, 1])

1.导入numpy库并简写为np

import numpy as np

2.打印numpy库的版本和配置说明

print(np.__version__)
np.show_config()

3.创建一个长度为10的空向量

np.zeros(10)

5, 3])


所以经常会看到这种写法:

```python
a = np.array([1, 2, 3, 4, 5])
a[::-1]
#输出是array([5, 4, 3, 2, 1])

在这里插入图片描述

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于numpy的教程,我可以为您提供以下内容: 1. numpy是什么? NumpyPython中一个强大的数学库,主要用于科学计算、数值分析和数据处理。它能够高效地处理多维数组和矩阵,提供了许多数学函数和算法,可以方便地进行各种数值计算和数据处理。 2. numpy的安装 可以通过pip命令来安装numpy。在命令行输入以下命令即可: ``` pip install numpy ``` 3. numpy的基础操作 - 创建numpy数组 可以使用numpy中的array()函数来创建数组。例如: ``` import numpy as np a = np.array([1, 2, 3]) # 创建一维数组 b = np.array([[1, 2], [3, 4]]) # 创建二维数组 ``` - 数组的属性 可以通过访问数组的属性来获取其维度、形状、大小等信息。例如: ``` print(a.ndim) # 数组的维度 print(a.shape) # 数组的形状 print(a.size) # 数组的大小 ``` - 数组的切片和索引 可以使用索引和切片来访问数组中的元素。例如: ``` print(a[0]) # 访问数组中的第一个元素 print(b[1, 0]) # 访问数组中的第二行第一列元素 print(a[:2]) # 访问数组中的前两个元素 print(b[:, 1]) # 访问数组中的第二列元素 ``` - 数组的运算 可以对数组进行各种数学运算,如加、减、乘、除等。例如: ``` c = a + b # 数组相加 d = a - b # 数组相减 e = a * b # 数组相乘 f = a / b # 数组相除 ``` 4. numpy的高级操作 - 广播 广播是一种numpy中的特殊机制,它可以使不同形状的数组进行算术运算。例如: ``` a = np.array([1, 2, 3]) b = np.array([2, 2, 2]) c = a + b # 广播,等价于a + np.array([2, 2, 2]) ``` - 矩阵操作 numpy中的matrix类可以方便地进行矩阵运算。例如: ``` a = np.matrix([[1, 2], [3, 4]]) b = np.matrix([[2, 2], [2, 2]]) c = a * b # 矩阵相乘 ``` - 数组的形状变换 可以使用reshape()函数来改变数组的形状。例如: ``` a = np.array([1, 2, 3, 4]) b = a.reshape(2, 2) # 将a变成2行2列的数组 ``` - 数学函数 numpy中提供了许多数学函数,如sin、cos、exp、log等。例如: ``` a = np.array([0, 30, 45, 60, 90]) b = np.sin(np.radians(a)) # 计算a的正弦值 ``` 以上就是关于numpy的基础和高级操作的简要介绍,希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值