NumPy 数组使用大全

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四大金刚之列表详解

    Python四大金刚之列表详解 在Python中,列表(list)是一种常用的数据结构,它可以存储多个元素,并且可以动态地添加、删除、修改元素。本文将详细讲Python列表的方法,并提供两个示例说明。 创建列表 我们可以使用方括号([])或者list()函数来创建一个列表。,下面的代码了一个包含三个元素的列表: my_list = [1, 2, 3] 访问列…

    python 2023年5月13日
    00
  • 用python基于appium模块开发一个自动收取能量的小助手

    下面我来给您详细讲解。 1. 准备工作 安装 appium appium 官网提供了详细的安装教程:http://appium.io/docs/en/about-appium/getting-started/?lang=en 安装 python 如果你已经安装了 python,请跳过这一步。 如果你还没有安装 python,请到官网下载 python 安装包…

    python 2023年5月19日
    00
  • 使用python批量转换文件编码为UTF-8的实现

    使用Python进行批量文件编码转换为UTF-8是一项常见的操作,下面将详细介绍如何实现这一过程: 1. 安装必要的Python库 为了执行文件编码转换,我们需要使用Python中的chardet、os、codecs和argparse库。安装这些库可以使用pip命令: pip install chardet pip install argparse 2. 编…

    python 2023年5月31日
    00
  • 利用python爬取软考试题之ip自动代理

    “利用python爬取软考试题之ip自动代理”可以分为以下几个步骤: 爬虫基础:安装相关库(requests, BeautifulSoup, lxml),编写基础爬虫代码,如下所示: import requests from bs4 import BeautifulSoup url = ‘http://www.example.com’ response = …

    python 2023年5月13日
    00
  • python编程进阶之类和对象用法实例分析

    Python编程进阶之类和对象用法实例分析 在Python编程中,类和对象是非常重要的概念。理解类和对象的用法可以帮助我们更好地进行面向对象编程,实现更加优雅、灵活的代码。 一、类和对象的基础概念 类:一种抽象的数据类型,用于将具有相似或相关特征的变量和方法组织在一起。 对象:类的一个实例,具有类定义的属性和方法。 二、类的语法结构 Python中定义一个类…

    python 2023年6月7日
    00
  • python使用pandas处理大数据节省内存技巧(推荐)

    让我为你详细讲解“python使用pandas处理大数据节省内存技巧(推荐)”的完整攻略。 1. 概述 当我们使用Python进行数据分析时,Pandas是一种非常常用的数据处理工具,但是在处理大数据时,由于数据量过大,程序往往会出现内存问题,因此需要采用一些技巧来优化内存使用效率。 2. 节省内存技巧 2.1 使用pandas的read_csv函数时,设置…

    python 2023年5月13日
    00
  • python对常见数据类型的遍历解析

    下面是Python对常见数据类型的遍历解析的攻略: 一、列表(List)的遍历 1.1 for循环遍历 lst = [1, 2, ‘a’, ‘b’, True] for i in lst: print(i) 1.2 for循环遍历+enumerate函数 lst = [1, 2, ‘a’, ‘b’, True] for idx, val in enumera…

    python 2023年5月14日
    00
  • Python列表去重的几种方法整理

    Python列表去重的几种方法整理 在Python中,列表去重是一个常见的操作。本文将介绍Python列表去重的几种方法,包括使用set()函数使用列表推导式、使用字典、使用numpy库等方法。 使用set() set()函数是Python中去重的常用方法。set()函数可以列表转换为集合,由于集合中的元素是唯一的,因此可以实现去重的效果。以下是一个示例代码…

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