首页 > 编程语言 >Python Numpy 数组的基本操作

Python Numpy 数组的基本操作

时间:2022-11-25 15:06:49浏览次数:51  
标签:arr Python 数据类型 np 数组 print 基本操作 Numpy


Numpy是一个通用的数组处理包。它提供了一个高性能的多维数组对象,以及处理这些数组的工具。它是Python科学计算的基本包。

Numpy除了具有科学用途外,还可以作为通用数据的高效多维容器。

Numpy中的数组

Numpy中的数组是一个元素表(通常是数字),所有元素都是相同的类型,由一个正整数元组索引。在Numpy中,数组的维数称为数组的秩。一个整数的元组给出了数组在每个维度上的大小,称为数组的形状。Numpy中的数组类称为ndarray。Numpy数组中的元素可以使用方括号访问,也可以使用嵌套Python列表初始化。

创建一个Numpy数组

Numpy中的数组可以通过多种方式创建,具有不同数量的秩,定义数组的大小。数组还可以使用各种数据类型(如列表、元组等)创建。合成阵列的类型由序列中元素的类型导出。

注意:可以在创建数组时显式定义数组的类型。

# Python程序
# 数组的创建
import numpy as np

# 创建rank 1数组
arr = np.array([1, 2, 3])
print("Array with Rank 1: \n",arr)

# 创建rank 2数组
arr = np.array([[1, 2, 3],
[4, 5, 6]])
print("Array with Rank 2: \n", arr)

# 从元组创建一个数组
arr = np.array((1, 3, 2))
print("\nArray created using "
"passed tuple:\n", arr)

输出如下:

Array with Rank 1:
 [1 2 3]
Array with Rank 2:
 [[1 2 3]
 [4 5 6]]

Array created using passed tuple:
 [1 3 2]

Python Numpy 数组的基本操作_数组操作

访问数组索引

在numpy数组中,索引或访问数组索引可以通过多种方式完成。要打印一系列数组,请完成切片。切片数组是在新数组中定义一个范围,用于从原始数组中打印一系列元素。由于切片数组包含原始数组的一系列元素,因此在切片数组的帮助下修改内容会修改原始数组内容。

#Pthon程序来演示
#numpy数组中的索引
import numpy as np

#初始数组
arr = np.array([[-1, 2, 0, 4],
[4, -0.5, 6, 0],
[2.6, 0, 7, 8],
[3, -7, 4, 2.0]])
print("Initial Array: ")
print(arr)

#打印数组的范围
#使用切片方法
sliced_arr = arr[:2, ::2]
print ("Array with first 2 rows and"
" alternate columns(0 and 2):\n", sliced_arr)

#打印元素
#specific Indices
Index_arr = arr[[1, 1, 0, 3],
[3, 2, 1, 0]]
print ("\nElements at indices (1, 3), "
"(1, 2), (0, 1), (3, 0):\n", Index_arr)

 

输出如下:

Initial Array:
[[-1.  2.  0.  4. ]
 [ 4.  -0.5  6.  0. ]
 [ 2.6  0.  7.  8. ]
 [ 3.  -7.  4.  2. ]]
Array with first 2 rows and alternate columns(0 and 2):
 [[-1.  0.]
 [ 4.  6.]]

Elements at indices (1, 3), (1, 2), (0, 1), (3, 0):
 [0. 6. 2. 3.]

Python Numpy 数组的基本操作_数组操作_02

基本阵列操作

在numpy中,数组允许可以在特定阵列或阵列组合上执行的各种操作。这些操作包括一些基本的数学运算以及一元和二元运算。

#Pthon程序来演示
#单个阵列的基本操作
import numpy as np

#定义数组1
a = np.array([[1, 2],
[3, 4]])

# Defining Array 2
b = np.array([[4, 3],
[2, 1]])

#向每个元素添加1
print ("Adding 1 to every element:", a + 1)

# 每个元素减去2
print ("\nSubtracting 2 from each element:", b - 2)

# 数组元素和
# 执行一元操作
print ("\nSum of all array "
"elements: ", a.sum())

#添加两个数组
#执行二进制操作
print ("\nArray sum:\n", a + b)

输出如下:

Adding 1 to every element: [[2 3]
 [4 5]]

Subtracting 2 from each element: [[ 2  1]
 [ 0 -1]]

Sum of all array elements:  10

Array sum:
 [[5 5]
 [5 5]]

Python Numpy 数组的基本操作_数据类型_03

Numpy中的数据类型

每个Numpy数组都是一个元素表(通常是数字),都是相同的类型,由正整数元组索引。每个ndarray都有一个关联的数据类型(dtype)对象。此数据类型对象(dtype)提供有关阵列布局的信息。ndarray的值存储在缓冲区中,缓冲区可以被认为是可以由dtype对象解释的连续的存储器字节块。Numpy提供了大量可用于构造数组的数值数据类型。在创建数组时,Numpy尝试猜测数据类型,但构造数组的函数通常还包含一个可选参数来显式指定数据类型。

构造数据类型对象

在Numpy中,除非需要特定的数据类型,否则无需定义数组的数据类型。Numpy试图猜测构造函数中未预定义的数组的数据类型。

#Python程序创建
#数据类型对象
import numpy as np

#整数数据类型
x = np.array([1, 2])
print("Integer Datatype: ")
print(x.dtype)

#浮动数据类型
x = np.array([1.0, 2.0])
print("\nFloat Datatype: ")
print(x.dtype)

# 强制数据类型
x = np.array([1, 2], dtype = np.int64)
print("\nForcing a Datatype: ")
print(x.dtype)

Integer Datatype:
int64

Float Datatype:
float64

Forcing a Datatype:
int64

Python Numpy 数组的基本操作_数组操作_04

DataType数组上的数学运算

在Numpy数组中,基本数学运算在数组上以元素方式执行。这些操作既可以作为操作符重载也可以作为函数应用。Numpy中提供了许多有用的函数,用于对数组执行计算,例如sum:用于添加数组元素,T:用于元素的转置等。

#Python程序创建
#数据类型对象
import numpy as np

#第一个数组
arr1 = np.array([[4, 7], [2, 6]],
dtype = np.float64)

#第二个数组
arr2 = np.array([[3, 6], [2, 8]],
dtype = np.float64)

#添加两个阵列
Sum = np.add(arr1, arr2)
print("Addition of Two Arrays: ")
print(Sum)

#添加所有数组元素
#使用预定义的sum方法
Sum1 = np.sum(arr1)
print("\nAddition of Array elements: ")
print(Sum1)

# 数组的平方根
Sqrt = np.sqrt(arr1)
print("\nSquare root of Array1 elements: ")
print(Sqrt)

#数组转置
#使用内置功能'T'
Trans_arr = arr1.T
print("\nTranspose of Array: ")
print(Trans_arr)

输出如下:

Addition of Two Arrays:
[[ 7. 13.]
 [ 4. 14.]]

Addition of Array elements:
19.0

Square root of Array1 elements:
[[2.        2.64575131]
 [1.41421356 2.44948974]]

Transpose of Array:
[[4. 2.]
 [7. 6.]]

Python Numpy 数组的基本操作_数组_05

标签:arr,Python,数据类型,np,数组,print,基本操作,Numpy
From: https://blog.51cto.com/u_13940603/5886725

相关文章

  • Python入门(11)——文件和异常
    在开发中经常要对数据进行持久化操作,实现数据持久化最直接的方式就是将数据保存到文件中。在Python中实现文件的读写操作非常简单,通过Python内置的函数,就可以获得操作文......
  • Python正则表达式
    在登录某些网站时,需要填写邮箱等相关信息,在邮箱格式填错时,页面总能第一时间检出并告知用户邮箱格式有误,那么程序员是使用什么方法实现这种检测的呢?一般会使用正则表达式。正......
  • 【Python】第4章-12 求满足条件的斐波那契数
    斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求大于输入数的最小斐波那契数。输入格......
  • 使用 pytest 进行 python 脚本测试
    PytestTIPSpytest-tutorial[tips.1]pytest会执行指定目录下所有Test开头的类和函数默认为运行目录,可以通过--rootdir参数指定[tips.2]可以通过assert断言......
  • Python第十章实验
    实例一:创建并打开记录蚂蚁庄园动态的文件实验代码:print("\n","="*10,"蚂蚁庄园动态","="*10)file=open('message.txt','w')print("\n即将显示……\n")实验结果:......
  • Python 处理 Excel 表格
    安装 openpyxl 模块    在Python中没有自带的处理Excel表格的模块,所以我们在Windows上使用 ​​pipinstall--useropenpyxl​​​ 命令安装第三方模块 ​​......
  • Python 操作压缩文件
        我们经常使用压缩程序对文件进行压缩打包,在Python中也提供了相应的zipfile模块方便我们对ZIP压缩文件进行操作。读取 ZIP 压缩文件    读取ZIP压缩文......
  • Python 文件路径
    获取主目录提到文件路径问题,不得不先提一下不同操作系统上文件夹之间的分隔符。在Windows操作系统上,路径的写法采用的是 \ 反斜杠。而在macOS和Linux操作系统上,路径......
  • 使用 Python 组织文件
        在 Python 中, shutil 模块还提供了一系列对文件和文件集合的高级操作。特别是提供了一些支持文件拷贝和删除的函数。下面介绍一些组织文件常用操作。复制文件 ......
  • Python入门(9)——函数
    函数是带名字的代码块,用于完成特定的任务,当在程序中多次执行同一任务时,无需反复编写重复的代码块,只需调用执行该任务的函数即可。函数的声明    在Python中使用 def ......