NumPy 数组使用大全

yizhihongxing

NumPy数组使用大全

NumPy是Python中用于科学计算的重要库,它提供了高效的多维数组对象和各种数学函数。本文将介绍NumPy数组的使用大全,包数组的创建、索引、切片、操作和计算等方面。

数组的创建

NumPy数组可以通过多种方式创建,包括从Python列表、元组、文件和其他数组中创建。以下是一些常见的数组创建:

从Python列表或元组中创建数组```python

import numpy as np

从Python列表中创建一维数组

my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array)

从Python元组中创建二维数组

my_tuple = ((1, 2, 3), (4, 5, 6))
my_array = np.array(my_tuple)
print(my_array)


### 从文件中创建数组

```python
import numpy as np

# 从文本文件中创建数组
my = np.loadtxt("data.txt")
print(my_array)

# 从二进制文件中创建数组
my_array = np.fromfile("data.bin", dtype=np.float32)
print(my_array)

其他数组创建方法

import numpy as np

# 创建全0数组
my_array = np.zeros((3, 3))
print(my_array)

# 创建全1数组
my_array = np.ones((3, 3))
print(my_array)

# 创建随机数组
my_array = np.random.rand(3, 3)
print(my_array)

数组的索引和切片

NumPy数组可以使用索引和切片来访问和修改数组中的元素。以下是一些常见的引和切片方法:

索引

import numpy as np

# 一维数组索引
my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0])

# 二维数组索引
my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_array[0, 0])

切片

import numpy as np

# 一维数组切片
my_array = np.array([1, 2, 3, 4, 5])
print(my_array[1:4])

# 二维数组切片
my_array =.array([[1,2, 3], [4, 5, 6], [7, 8, 9]])
print(my_array[:2, 1:])

数组的操作

NumPy数组支持各种操作,包括数组的转置、重塑、拼接和分裂等。以下是一些常见的数组方法:

转置```python

import numpy as np

二维数组转置

my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_array.T)


### 重塑

```python
import numpy as np

# 重塑数组
my_array = np([1, 2, 3, 4, 5, 6])
print(my_array.reshape((2, 3)))

拼接

import numpy as np

# 拼接数组
my_array1 = np.array([[1, 2], [3, 4]])
my_array2 = np.array([[5, 6], [7, 8]])
print(np.concatenate((my_array1, my_array2), axis=1))

分裂

import numpy as np

# 分裂数组
my_array = np.array([1, 2, 3, 4, 5, 6])
print(np.split(my_array, 3))

数组的计算

NumPy数组支持各种数学计算,包括加、减、乘、除、求和、平均值、方差标准差等。以下是一些常见的数组计算方法:

加、减、乘、除

import numpy as np

# 数组加法
my_array1 = np.array([1, 2, 3])
my_array2 = np.array([4, 5, 6])
print(my_array1 + my_array2)

# 数组减法
print(my_array1 -_array2)

# 数组乘法
print(my_array1 * my_array2)

# 数组除法
print(my_array1 / my_array2)

求和、平均值、方差和标准差

import numpy as np

# 数组求和
my_array = np.array([1, 2, 3, 4, 5])
print(np.sum(my_array))

# 数组平均值
print(np.mean(my_array))

# 数组方差
print(np.var(my_array))

# 数组标准差
print(np.std(my_array))

示例说明

示例1:使用NumPy数组进行线性回归

import numpy as np
import matplotlib.pyplot as plt

# 生成随机数据
x = np.random.rand(100)
y = 2 * x + 1 + np.random.randn(100) * 0.1

# 构建模型
X = np.vstack([x, np.ones(len(x))]).T
w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y)

# 绘制图形
plt.scatter(x, y)
plt.plot(x, w[0] * x + w[1], color="red")
plt.show()

在上面的示例代码中,我们首先生成了100个随机数据点,并使用NumPy数组构建了一个线性回归模型。然后,我们使用Matplotlib库绘制了数据和回归线的图形。

示例2:使用NumPy数组进行图像处理

import numpy as npimport matplotlib.pyplot as plt
from PIL import Image

# 读取图像
image = Image.open("image.jpg")
image_array = np.array(image)

# 转换为灰度图像
gray_array = np.mean(image_array, axis=2)

# 绘制图像
plt.imshow(gray_array, cmap="gray")
plt.show()

在上面的示例代码中,我们首先使用Pillow库读取了一张图像,并使用NumPy数组将其转换为灰度图像。然后,我们使用Matplotlib库绘制了灰度图像的图形。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NumPy 数组使用大全 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python BautifulSoup 节点信息

    Python BeautifulSoup节点信息 BeautifulSoup是Python中一个非常流行的HTML和XML解析库,可以帮助我们更方便地解析网页。本文将介绍如何使用BeautifulSoup获取节点信息,并提供两个示例。 示例1:获取节点名称 以下是一个示例代码,演示如何使用BeautifulSoup获取节点名称: from bs4 impor…

    python 2023年5月15日
    00
  • 利用Python中的Xpath实现一个在线汇率转换器

    下面是关于使用Python中的Xpath实现一个在线汇率转换器的完整攻略。 1. 思路概述 在实现在线汇率转换器时,需要借助网络爬虫技术从网站上获取汇率数据,并使用Xpath对HTML/XML文档进行解析,提取所需的汇率信息。 以下是大致的实现步骤: 分析目标网站的HTML结构,找出汇率数据所在的位置,并确定需要提取的元素路径。 使用Python中的requ…

    python 2023年5月23日
    00
  • python正则表达式匹配[]中间为任意字符的实例

    Python正则表达式匹配[]中间为任意字符的实例 在Python中,我们可以使用正则表达式进行字符串匹配和替换。在正则表达式中,[]表示字符集,可以匹配其中任意一个字符。本攻略将详细讲解如何使用Python正则表达式匹配[]中间为任意字符的实例,包括如何使用.和[]进行匹配、如何使用re模块进行匹配。 使用.进行匹配 在Python中,我们可以使用.进行匹…

    python 2023年5月14日
    00
  • python tkinter控件treeview的数据列表显示的实现示例

    首先我们来详细讲解一下如何使用 Python tkinter 控件 treeview 实现数据列表的显示。 步骤一:导入 tkinter 和 ttk 模块 首先,我们需要导入 tkinter 和 ttk 模块。其中,tkinter 模块提供了 GUI 开发需要的所有组件,而 ttk 则是 tkinter 的扩展模块,提供了一些额外的控件和样式。 import…

    python 2023年6月13日
    00
  • python 存储json数据的操作

    下面是关于Python存储JSON数据的攻略: 1. 什么是 JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,可以描述复杂的数据结构,比如数组、对象等。JSON数据格式与JavaScript中的对象和数组字面量非常类似,因此很容易被JavaScript解析。 JSON格式由键值对组成,使用大括号 {} …

    python 2023年6月3日
    00
  • Python 解析获取 URL 参数及使用步骤

    Python解析获取URL参数及使用步骤 在Python中,我们可以使用urllib.parse模块来解析URL参数。本文将详细讲解如何使用urllib.parse模块解析URL参数,并提供两个示例。 步骤1:导入urllib.parse模块 在使用urllib.parse模块之前,我们需要导入它。您可以使用以下代码导入urllib.parse模块: fro…

    python 2023年5月15日
    00
  • 详解python中list的使用

    以下是“详解Python中list的使用”的完整攻略。 Python中list的使用 在Python中,列表是一种常见的数据类型,它可以存储多个值。列表是可变的,可以添加、删除和修改其中的元素。本文将详细介绍Python中list的使用方法。 创建列表 Python中,可以使用方括号[]来创建一个新的列表。例如: lst = [1, 2, 3, 4, 5] …

    python 2023年5月13日
    00
  • Pandas封装Excel工具类的方法步骤

    下面是Pandas封装Excel工具类的方法步骤的完整实例教程: 1. 安装Pandas Pandas是一种基于Python语言的数据分析库,可以用来处理和分析数据。如果你还没有安装Pandas,可以使用以下命令进行安装: pip install pandas 2. 创建Excel文件 首先,我们需要创建一个Excel文件作为数据源。可以使用Excel软件手…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部