打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
NumPy教程

NumPy是Python中用于科学计算的基础库之一。它提供了高效的多维数组对象(ndarray)、用于数组计算的函数以及用于读写磁盘上基于数组的数据集的工具。本教程将介绍NumPy的基本概念和用法。

## 安装NumPy

在使用NumPy之前,需要先安装它。可以使用pip命令进行安装:

```

pip install numpy

```

## NumPy数组

NumPy的核心是ndarray对象,它是一个多维数组。ndarray对象可以是一维数组、二维数组或更高维数组。以下是创建ndarray对象的几种方法:

### 从Python列表创建ndarray对象

可以使用`numpy.array()`函数从Python列表创建ndarray对象。例如,以下代码创建了一个一维数组:

```python

import numpy as np

a = np.array([1, 2, 3])

print(a)

```

输出:

```

[1 2 3]

```

可以使用`ndarray.shape`属性获取数组的形状:

```python

print(a.shape)

```

输出:

```

(3,)

```

这表示数组有3个元素。

可以使用`ndarray.dtype`属性获取数组的数据类型:

```python

print(a.dtype)

```

输出:

```

int64

```

这表示数组的元素类型为64位整数。

可以使用`ndarray.ndim`属性获取数组的维度:

```python

print(a.ndim)

```

输出:

```

1

```

这表示数组是一维的。

可以使用`ndarray.size`属性获取数组的元素个数:

```python

print(a.size)

```

输出:

```

3

```

这表示数组有3个元素。

可以使用`ndarray.itemsize`属性获取数组的每个元素的字节数:

```python

print(a.itemsize)

```

输出:

```

8

```

这表示数组的每个元素占用8个字节。

可以使用`ndarray.data`属性获取数组的内存地址:

```python

print(a.data)

```

输出:

```

<memory at 0x7f9d2c2a8f48>

```

### 从Python元组创建ndarray对象

可以使用`numpy.array()`函数从Python元组创建ndarray对象。例如,以下代码创建了一个二维数组:

```python

import numpy as np

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

print(a)

```

输出:

```

[[1 2 3]

 [4 5 6]]

```

可以使用`ndarray.shape`属性获取数组的形状:

```python

print(a.shape)

```

输出:

```

(2, 3)

```

这表示数组有2行3列。

可以使用`ndarray.dtype`属性获取数组的数据类型:

```python

print(a.dtype)

```

输出:

```

int64

```

这表示数组的元素类型为64位整数。

可以使用`ndarray.ndim`属性获取数组的维度:

```python

print(a.ndim)

```

输出:

```

2

```

这表示数组是二维的。

可以使用`ndarray.size`属性获取数组的元素个数:

```python

print(a.size)

```

输出:

```

6

```

这表示数组有6个元素。

可以使用`ndarray.itemsize`属性获取数组的每个元素的字节数:

```python

print(a.itemsize)

```

输出:

```

8

```

这表示数组的每个元素占用8个字节。

可以使用`ndarray.data`属性获取数组的内存地址:

```python

print(a.data)

```

输出:

```

<memory at 0x7f9d2c2a8f48>

```

### 使用NumPy函数创建ndarray对象

NumPy提供了许多函数用于创建ndarray对象。以下是一些常用的函数:

- `numpy.zeros(shape, dtype=float, order='C')`:创建一个指定形状和数据类型的全0数组。

- `numpy.ones(shape, dtype=float, order='C')`:创建一个指定形状和数据类型的全1数组。

- `numpy.empty(shape, dtype=float, order='C')`:创建一个指定形状和数据类型的空数组,其元素值未初始化。

- `numpy.arange([start,] stop[, step,], dtype=None)`:创建一个指定范围和步长的一维数组。

- `numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)`:创建一个指定范围和元素个数的一维数组。

例如,以下代码创建了一个全0数组:

```python

import numpy as np

a = np.zeros((2, 3))

print(a)

```

输出:

```

[[0. 0. 0.]

 [0. 0. 0.]]

```

可以使用`numpy.ones()`和`numpy.empty()`函数创建全1数组和空数组。

例如,以下代码创建了一个一维数组:

```python

import numpy as np

a = np.arange(10)

print(a)

```

输出:

```

[0 1 2 3 4 5 6 7 8 9]

```

可以使用`numpy.linspace()`函数创建等间隔的一维数组。

例如,以下代码创建了一个一维数组:

```python

import numpy as np

a = np.linspace(0, 1, 5)

print(a)

```

输出:

```

[0.   0.25 0.5  0.75 1.  ]

```

## NumPy数组的运算

NumPy数组支持各种数学运算,例如加、减、乘、除等。以下是一些常用的运算:

### 数组加法

可以使用`+`运算符进行数组加法。例如,以下代码将两个数组相加:

```python

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = a + b

print(c)

```

输出:

```

[5 7 9]

```

### 数组减法

可以使用`-`运算符进行数组减法。例如,以下代码将两个数组相减:

```python

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = a - b

print(c)

```

输出:

```

[-3 -3 -3]

```

### 数组乘法

可以使用`*`运算符进行数组乘法。例如,以下代码将两个数组相乘:

```python

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = a * b

print(c)

```

输出:

```

[ 4 10 18]

```

### 数组除法

可以使用`/`运算符进行数组除法。例如,以下代码将两个数组相除:

```python

import numpy as np

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = a / b

print(c)

```

输出:

```

[0.25 0.4  0.5 ]

```

### 数组求幂

可以使用`**`运算符进行数组求幂。例如,以下代码将一个数组的每个元素求平方:

```python

import numpy as np

a = np.array([1, 2, 3])

b = a ** 2

print(b)

```

输出:

```

[1 4 9]

```

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python进阶之NumPy快速入门:你可能再也找不到这样简单的教程了
技术图文:Numpy 一维数组 VS. Pandas Series
NumPy 数组属性
Python 数据分析(一):NumPy 基础知识
第 81 天:NumPy Ndarray 对象及数据类型
Python 数据分析基础包:Numpy
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服