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绘制正态分布曲线的完整攻略。 1.准备工作 在进行绘制正态分布曲线前,我们需要先安装一下Python中用于科学计算的常用库NumPy和matplotlib。 !pip install numpy !pip install matplotlib 2.确定正态分布曲线的参数 正态分布曲线拥有两个参数:均值μ和标准差σ。在确定我们需…

    python 2023年6月3日
    00
  • Python脚本传参数argparse模块的使用

    下面是 Python 脚本传参数 argparse 模块的使用攻略。 什么是 argparse 模块 argparse 是 Python 标准库中的一个命令行解析工具,可以帮助开发者构建用户友好的命令行程序,包括定义可选参数、必选参数、默认值、参数类型、帮助信息等。argparse 模块可以帮助你管理命令行中的参数和选项。 安装 argparse 模块 ar…

    python 2023年6月3日
    00
  • Python 切片索引越界的问题(数组下标越界)

    下面是关于Python切片索引越界问题的完整攻略。 什么是Python切片索引越界问题? 在Python中,切片是一种非常常见的操作,可以通过“:”运算符来获取一段序列的子序列,但是在进行切片操作时,由于下标越界的问题,可能会出现“IndexError: list index out of range”的错误提示。 这种错误提示通常是由于访问了一个不存在的索…

    python 2023年6月5日
    00
  • Scrapy启动报错invalid syntax的解决

    当使用Scrapy框架进行爬虫爬取时,有些用户可能会遇到SyntaxError: invalid syntax这样的报错。这种报错通常是由于代码中存在语法错误而导致的。 以下是解决这个错误的完整攻略: 步骤1:仔细检查代码 首先,用户应该仔细检查他们的代码,特别是检查可能的语法错误。检查代码并确保代码结构正确,以及所有的括号和引号都是成对出现的。 例如,以下…

    python 2023年5月13日
    00
  • Python和C/C++交互的几种方法总结

    对于“Python和C/C++交互的几种方法总结”,我们可以使用以下几种方法进行交互: 1. 使用Python扩展模块 这种方法是使用Python的C扩展模块,编写C/C++代码,然后将其编译为共享库,最后在Python程序中导入该共享库。来看一个实例: 编写C代码example.c: #include <Python.h> static PyO…

    python 2023年5月18日
    00
  • Python实现控制台输入密码的方法

    输入密码常见于各类需要用户验证身份的应用程序中,Python也提供了一些方法,可以方便地实现控制台输入密码的功能。下面将详细讲解Python实现控制台输入密码的方法。 方法一:使用getpass模块 Python内置的getpass模块可以实现通过控制台输入密码的功能。它提供了一个getpass方法,该方法会提示用户输入密码,但是输入的密码不会在屏幕上显示。…

    python 2023年6月3日
    00
  • python常见字符串处理函数与用法汇总

    Python常见字符串处理函数与用法汇总 本文将介绍Python中常用的字符串处理函数及用法,包括字符串基础操作、正则表达式、字符串格式化等。 一. 字符串基础操作 1. 字符串切片 字符串切片(Slicing)指的是截取字符串的一部分,其语法为: s[start:end:step] 其中: start:表示所需字符串的起始索引,默认为0。 end:表示所需…

    python 2023年5月31日
    00
  • 解决python中0x80072ee2错误的方法

    为解决Python中0x80072ee2错误,可以尝试以下方法: 方法一:更换pip源 1.打开pip配置文件 pip.ini 或者 pip.conf 文件,一般在用户文件夹下(例如:C:\Users\your_user_name)。 2.添加以下内容: [global] index-url = http://mirrors.aliyun.com/pypi/…

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