Python Numpy模块

NumPy是Python中一个用于科学计算的开源模块,提供了多维数组对象和一系列用于处理数组的函数库。它可以让用户更加方便地进行数据处理、数值分析和科学计算等任务。NumPy中的数组实现了向量化操作,可以使用广播等方式进行高效的数值计算。另外,NumPy还提供了线性代数、傅里叶变换、随机数生成等多种功能。

使用NumPy之前,请确保已经安装了NumPy模块。

安装方法:pip install numpy

导入NumPy模块

我们可以使用import语句导入NumPy模块,并给模块指定别名:

import numpy as np

创建数组

NumPy的核心是多维数组,可以通过下面的方式创建:

1、numpy.array()函数

这是NumPy中最重要的函数之一,它用于创建数组。对于一维数组,可以传递一个列表或元组作为参数。对于多维数组,可以传递多个列表作为参数。下面是一些示例:

import numpy as np

# 一维数组
a = np.array([1, 2, 3])  
print(a)

# 多维数组
b = np.array([[1,2,3], [4,5,6]])  
print(b)

输出结果:

[1 2 3]
[[1 2 3]
 [4 5 6]]

2、numpy.arange()函数

numpy.arange()函数用于创建一个一维数组,其中从开始到结束的数字会以指定的步长增加。下面是一个示例:

import numpy as np

# 创建一个一维数组,从0到7,间隔为2
a = np.arange(0, 7, 2)  
print(a)

输出结果:

[0 2 4 6]

3、numpy.zeros()函数和numpy.ones()函数

numpy.zeros()函数用于创建一个给定形状和类型的全零数组。numpy.ones()函数用于创建一个给定形状和类型的全1数组。下面是一些示例:

import numpy as np

# 创建一个形状为(2,3)的全零二维数组
a = np.zeros((2,3))  
print(a)

# 创建一个形状为(2,3)的全1二维数组
b = np.ones((2,3))  
print(b)

输出结果:

[[0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]]

数组属性

在NumPy中,数组的属性指的是数组的一些元数据,例如数组的形状、大小等。代码示例如下:

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
# 数组的形状
print(a.shape)
# 数组的大小
print(a.size)
# 数组的维度
print(a.ndim)

输出结果:

(2, 3)
6
2

数组索引和切片

NumPy数组的索引方式和Python的列表类似,可以使用方括号和整数、切片的方式对数组中的元素进行访问。代码示例如下:

import numpy as np

a = np.array([1,2,3])
# 访问第一个元素
print(a[0])
# 切片访问
print(a[1:3])

b = np.array([[1,2,3], [4,5,6], [7,8,9]])
# 访问第二行第三列的元素
print(b[1,2])
# 切片访问
print(b[0:2,1:3])

输出结果:

1
[2 3]
6
[[2 3]
 [5 6]]

数组的数学运算

对于NumPy数组,我们可以进行各种数学运算,例如加、减、乘、除等。还可以使用NumPy中提供的各种函数,例如求平均值、标准差等等。示例代码如下:

import numpy as np

a = np.array([1,2,3,4])
b = np.array([5,6,7,8])

# 数组加法
print(a + b)

# 数组减法
print(b - a)

# 数组乘法
print(a * b)

# 数组除法
print(b / a)

# 求平均值
print(a.mean())

# 求标准差
print(b.std())

 

输出结果:

[ 6  8 10 12]
[4 4 4 4]
[ 5 12 21 32]
[5.         3.         2.33333333 2.        ]
2.5
1.8708286933869707

 

广播

广播是NumPy中非常有用的功能之一,可以有助于在不同形状的数组之间进行计算,例如相加、相减、相乘、相除等。NumPy使用广播来对数组进行运算,可以根据对齐规则自动调整数组。示例代码如下:

import numpy as np

a = np.array([1,2,3])
b = np.array([[4,5,6], [7,8,9]])

# 数组加法
print(a + b)

输出结果:

[[ 5  7  9]
 [ 8 10 12]]

随机数生成

NumPy还提供了很多随机数生成的函数,例如生成随机整数、生成随机浮点数、从给定数据中抽样、打乱数组等。示例代码如下:

import numpy as np

# 生成随机整数
a = np.random.randint(0, 10, size=5)
print(a)

# 生成随机浮点数
b = np.random.random(size=(2,3))
print(b)

# 从给定数据中抽样
c = np.random.choice([1,2,3,4,5], size=(3,3))
print(c)

# 打乱数组
d = np.arange(10)
np.random.shuffle(d)
print(d)

输出结果:

[7 1 0 0 7]
[[0.04168358 0.46725363 0.64897736]
 [0.49807061 0.50867773 0.75336988]]
[[1 5 5]
 [4 4 4]
 [4 4 5]]
[4 1 8 3 0 7 9 2 6 5]

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值