php cms,网站代码如何做优化,域名是否就是网站,遨游建站目录
一、前言
二、实验环境
三、NumPy
0、多维数组对象#xff08;ndarray#xff09;
1. 多维数组的属性
1、创建数组
2、数组操作
1. 索引和切片
a. 索引
b. 切片
2. 形状操作
a. 获取数组形状
b. 改变数组形状
c. 展平数组
3. 转置操作
a. 使用.T属性
b…目录
一、前言
二、实验环境
三、NumPy
0、多维数组对象ndarray
1. 多维数组的属性
1、创建数组
2、数组操作
1. 索引和切片
a. 索引
b. 切片
2. 形状操作
a. 获取数组形状
b. 改变数组形状
c. 展平数组
3. 转置操作
a. 使用.T属性
b. 使用transpose()函数
4. 拼接操作
np.concatenate()函数
np.vstack()函数
np.hstack()函数 一、前言 Python是一种高级编程语言由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库可以用于开发各种类型的应用程序包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。 Python本身是一种伟大的通用编程语言在一些流行的库numpyscipymatplotlib的帮助下成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法主要包含以下内容
Python基本数据类型、容器列表、元组、集合、字典、函数、类Numpy数组、索引和切片、数组数学、广播Matplotlib绘图子图图像IPython创建笔记本典型工作流程 二、实验环境
numpy1.21.6python3.7.16
运行下述命令检查Python版本 python --version
运行下述代码检查Python、NumPy版本
import sys
import numpy as npprint(Python 版本:, sys.version)
print(NumPy 版本:, np.__version__) 三、NumPy NumPyNumerical Python是一个用于科学计算的Python库。它提供了一个强大的多维数组对象ndarray用于进行高效的数值运算和数据处理。Numpy的主要功能包括 多维数组Numpy的核心是ndarray对象它是一个多维数组可以存储同类型的元素。这使得Numpy非常适合处理向量、矩阵和其他多维数据结构。 数学函数Numpy提供了许多常用的数学函数如三角函数、指数函数、对数函数等。这些函数可以直接应用于整个数组而无需编写循环。 广播BroadcastingNumpy支持不同形状的数组之间的运算通过广播机制可以对形状不同的数组进行逐元素的操作而无需显式地编写循环。 线性代数运算Numpy提供了丰富的线性代数运算函数如矩阵乘法、求解线性方程组、特征值计算等。 随机数生成Numpy包含了用于生成各种概率分布的随机数的函数如均匀分布、正态分布、泊松分布等。 数据操作Numpy提供了很多用于操作数组的函数如切片、索引、排序、去重等。 Numpy广泛应用于科学计算、数据分析、机器学习等领域。它的高效性和便捷性使得它成为Python数据科学生态系统中不可或缺的组成部分。 0、多维数组对象ndarray NumPy的ndarray对象是NumPy库中最重要的对象之一也是进行科学计算的核心数据结构。ndarray代表了一个多维的数组可以存储相同类型的元素。
1. 多维数组的属性
ndarray.shape返回表示数组形状的元组例如(2, 3)表示2行3列的数组。ndarray.dtype返回数组中元素的数据类型例如int、float、bool等。ndarray.ndim返回数组的维度数例如1表示一维数组2表示二维数组。 1、创建数组 【深度学习】 Python 和 NumPy 系列教程九NumPy详解1、创建数组的n种方式_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/132782221?spm1001.2014.3001.5502
2、数组操作
1. 索引和切片 a. 索引 使用整数索引可以使用整数索引访问数组中的特定元素。例如arr[0]将返回数组arr中的第一个元素。使用布尔索引可以使用布尔数组作为索引来选择满足特定条件的元素。例如arr[arr 5]将返回数组arr中大于5的元素。使用多维索引对于多维数组可以使用多个整数或布尔索引来访问特定的元素。例如arr[0, 1]将返回多维数组arr中第一行第二列的元素。
import numpy as nparr np.array([1, 2, 3, 4, 5])# 整数索引
print(arr[0]) # 输出1# 布尔索引
print(arr[arr 3]) # 输出[4, 5]# 多维索引
arr np.array([[1, 2, 3], [4, 5, 6]])
print(arr[0, 1]) # 输出2 b. 切片 使用基本切片可以使用基本切片表示法从数组中获取连续的子数组。例如arr[1:5]将返回数组arr中索引为1到4的元素。使用步长切片可以使用步长切片表示法从数组中获取间隔的子数组。例如arr[1:5:2]将返回数组arr中索引为1、3的元素。使用省略号切片对于多维数组可以使用省略号(...)表示连续的切片。例如arr[..., 1]将返回多维数组arr中的第二列。使用负数索引和切片可以使用负数索引和切片来从数组的末尾开始访问元素。例如arr[-1]将返回数组arr中的最后一个元素。
import numpy as nparr np.array([1, 2, 3, 4, 5])# 基本切片
print(arr[1:4]) # 输出[2, 3, 4]# 步长切片
print(arr[1:5:2]) # 输出[2, 4]# 省略号切片
arr np.array([[1, 2, 3], [4, 5, 6]])
print(arr[..., 1]) # 输出[2, 5]# 负数索引和切片
print(arr[-1]) # 输出[4, 5, 6] 2. 形状操作
a. 获取数组形状
b. 改变数组形状
c. 展平数组 import numpy as nparr np.array([[1, 2, 3], [4, 5, 6]])# 获取数组形状
print(arr.shape) # 输出(2, 3)# 改变数组形状
reshaped_arr arr.reshape((3, 2))
print(reshaped_arr)
# 输出
# [[1 2]
# [3 4]
# [5 6]]# 展平数组
flattened_arr arr.flatten()
print(flattened_arr) # 输出[1 2 3 4 5 6] 3. 转置操作 数组转置操作是指将数组的行和列互换的操作转置操作对于处理二维数组特别有用例如在矩阵运算和线性代数中经常需要对数组进行转置。
a. 使用.T属性 在NumPy中多维数组对象ndarray具有一个名为.T的属性可以用于进行转置操作。该属性返回原始数组的转置结果即行变为列列变为行。
import numpy as nparr np.array([[1, 2, 3], [4, 5, 6]])
transposed_arr arr.T
print(transposed_arr)输出
[[1 4]
[2 5]
[3 6]]
b. 使用transpose()函数 另一种实现数组转置的方法是使用np.transpose()函数。该函数接受一个多维数组作为参数并返回其转置结果。
import numpy as nparr np.array([[1, 2, 3], [4, 5, 6]])
transposed_arr np.transpose(arr)
print(transposed_arr)
输出
[[1 4]
[2 5]
[3 6]]
4. 拼接操作 数组拼接操作是指将多个数组按照指定的方式进行连接的操作。
np.concatenate()函数 np.concatenate()函数用于沿指定的轴连接数组。可以沿着现有的轴连接两个或多个数组也可以指定axis参数来创建一个新的轴。np.concatenate()函数将arr1和arr2沿着行方向axis0进行了拼接
import numpy as nparr1 np.array([[1, 2], [3, 4]])
arr2 np.array([[5, 6]])# 沿行方向拼接数组
concatenated_arr np.concatenate((arr1, arr2), axis0)
print(concatenated_arr)输出
[[1 4]
[2 5]
[3 6]]
np.vstack()函数 np.vstack()函数用于垂直拼接按行堆叠两个或多个数组。它将输入的数组沿着垂直方向堆叠起来生成一个新的数组。
import numpy as nparr1 np.array([[1, 2], [3, 4]])
arr2 np.array([[5, 6]])# 垂直拼接数组
vstack_arr np.vstack((arr1, arr2))
print(vstack_arr)
输出
[[1 4]
[2 5]
[3 6]]
np.hstack()函数 np.hstack()函数用于水平拼接按列堆叠两个或多个数组。它将输入的数组沿着水平方向堆叠起来生成一个新的数组。
import numpy as nparr1 np.array([[1, 2], [3, 4]])
arr2 np.array([[5, 6]])# 水平拼接数组
hstack_arr np.hstack((arr1, arr2.T))输出
[[1 2 5]
[3 4 6]]