首页 > 其他分享 >NumPy 数组切片及数据类型介绍

NumPy 数组切片及数据类型介绍

时间:2024-05-07 20:23:27浏览次数:24  
标签:arr 数据类型 切片 数组 print array NumPy

NumPy 数组切片

NumPy 数组切片用于从数组中提取子集。它类似于 Python 中的列表切片,但支持多维数组。

一维数组切片

要从一维数组中提取子集,可以使用方括号 [] 并指定切片。切片由起始索引、结束索引和可选步长组成,用冒号 : 分隔。

语法:

arr[start:end:step]
  • start:起始索引(默认为 0)。
  • end:结束索引(不包括)。
  • step:步长(默认为 1)。

示例:

import numpy as np

# 创建一维数组
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 从第二个元素到第五个元素(不包括)
print(arr[1:5])  # 输出:array([2, 3, 4])

# 从头到尾,每隔一个元素
print(arr[::2])  # 输出:array([1, 3, 5, 7, 9])

# 从倒数第三个元素到倒数第一个元素
print(arr[-3:-1])  # 输出:array([8, 9])

二维数组切片

要从二维数组中提取子集,可以使用逗号分隔的两个索引,每个索引表示相应维度的切片。

语法:

arr[start_row:end_row, start_col:end_col:step]
  • start_row:起始行索引(默认为 0)。
  • end_row:结束行索引(不包括)。
  • start_col:起始列索引(默认为 0)。
  • end_col:结束列索引(不包括)。
  • step:步长(默认为 1)。

示例:

import numpy as np

# 创建二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 从第二行到第三行,第一列到第三列(不包括)
print(arr[1:3, 0:3])  # 输出:array([[4, 5, 6], [7, 8, 9]])

# 从第一行到第三行,每隔一列
print(arr[::2, :])  # 输出:array([[1, 3, 5], [7, 9]])

# 从第一行到第三行,第二列
print(arr[:, 1])  # 输出:array([2, 5, 8])

练习

创建一个 5x5 的二维数组 arr,并打印以下子集:

  • 第一行的所有元素
  • 第二列的所有元素
  • 从左上角到右下角的对角线元素
  • 2x2 的子数组,从第二行第三列开始

在评论中分享您的代码和输出。

Sure, here is the requested Markdown formatted content:

NumPy 数据类型

NumPy 数组由同类型元素组成,并具有指定的数据类型。数据类型定义了数组中元素的存储方式和允许的操作。

NumPy 中的数据类型

NumPy 具有比 Python 更丰富的基本数据类型,并使用首字母大写字符来表示它们:

  • i: 整数(int)
  • b: 布尔值(bool)
  • u: 无符号整数(unsigned int)
  • f: 浮点数(float)
  • c: 复数浮点数(complex float)
  • m: 时间差(timedelta)
  • M: 日期时间(datetime)
  • O: 对象(object)
  • S: 字符串(string)
  • U: Unicode 字符串(unicode string)
  • V: 可变长度字节(void)

检查数组的数据类型

NumPy 数组具有一个属性 dtype,用于获取数组元素的数据类型。

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr.dtype)

输出:

int32

使用指定数据类型创建数组

我们可以使用 np.array() 函数并指定 dtype 参数来创建具有指定数据类型的数组。

import numpy as np

arr = np.array([1, 2, 3, 4, 5], dtype='float64')
print(arr)
print(arr.dtype)

输出:

[1. 2. 3. 4. 5.]
float64

转换数组的数据类型

我们可以使用 astype() 方法转换现有数组的数据类型。

import numpy as np

arr = np.array([1.1, 2.2, 3.3, 4.4, 5.5])
new_arr = arr.astype(int)
print(new_arr)
print(new_arr.dtype)

输出:

[1 2 3 4 5]
int32

NumPy 数据类型简表

数据类型 字符 描述
整数 i 有符号整数
布尔值 b True 或 False
无符号整数 u 无符号整数
浮点数 f 固定长度浮点数
复数浮点数 c 复数浮点数
时间差 m 时间间隔
日期时间 M 日期和时间
对象 O Python 对象
字符串 S 固定长度字符串
Unicode 字符串 U 可变长度 Unicode 字符串
可变长度字节 V 用于其他类型的固定内存块

练习

创建以下 NumPy 数组,并打印它们的元素和数据类型:

  • 一个包含 10 个随机整数的数组。
  • 一个包含 5 个布尔值的数组。
  • 一个包含 7 个复杂数的数组。
  • 一个包含 10 个日期时间对象的数组。

在评论中分享您的代码和输出。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

标签:arr,数据类型,切片,数组,print,array,NumPy
From: https://www.cnblogs.com/xiaowange/p/18178304

相关文章

  • NumPy 数组创建方法与索引访问详解
    NumPy创建数组NumPy中的核心数据结构是ndarray,它代表多维数组。NumPy提供了多种方法来创建ndarray对象,包括:使用array()函数array()函数是最常用的方法之一,它可以将Python列表、元组甚至其他数组转换为ndarray对象。语法:ndarray=np.array(data,dtype=dtype,o......
  • Java基本数据类型
    byte:字节型,8位二进制数,有符号,取值范围:-128到127。默认值:0示例:bytemyByte=10;空间大小:1字节(byte),即8位(bit)。short:短整型,16位二进制数,有符号,取值范围:-32,768到32,767。默认值:0示例:shortmyShort=2000;空间大小:2字节(byte),即16位(bit)int:整型,32位二进制数,有符号,取值范......
  • 数据类型之字符串
    1、字符串的定义单引号,双引号引起来的2、字符串的索引和切片和转义2.1索引:1.索引值从0开始索引超长会报错IndexError:stringindexoutofrange2.写法:str[0]2.2切片:1.[起始下标:终止下标:步长]:起始下标默认为0,步长默认为12.取头不取尾,左开右闭3.步长为正数,正......
  • 切片技术发展
    前言本文80%内容节选自:《WebGIS数据不切片或是时代必然》,后在其基础上添加了部分内容。数据切片是解决大规模大体积地理数据在Web前端轻量化传输和显示的关键技术,是每一个开发者几乎每天都在使用的技术,有时候将服务端底图切成xyz图片,有时候将大影像数据切成xyz图片,也有时候将......
  • python教程3.1:数据类型:字符串+列表list
    一、字符串字符串是⼀个有序的字符的集合,⽤于在计算机⾥存储和表示⽂本信息 常用操作二、列表list[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表⼀个元素特征 1、增加操作   追加,数据会追加到尾部 2、删除操作3、修改操作 4、查找操作 如果......
  • python教程2:变量+数据类型+运算符
    一、变量程序是从上到下依次逐⾏执⾏的,所以变量必须先定义,后调⽤,否则会报错变量定义规范 二、数据类型1、数字类型可⽤type()⽅法来查看数据类型 2、字符串多引号多引号什么作⽤呢?作⽤就是多⾏字符串必须⽤多引号字符串拼接3、布尔类型布尔类型很简单,就两个......
  • WAV音频文件按秒切片段
    wav音频文件按秒切片段 importwavedefsplit_wav_by_seconds(input_file,output_file,start_second,end_second):withwave.open(input_file,'rb')aswf:framerate=wf.getframerate()num_frames=wf.getnframes()num_channels......
  • Python学习之路 第五篇 基本数据类型
    int类型:在python3里不论数有多大,永远都是int类型。在python2里整形(数字),在范围内叫int,超出范围叫long,也叫长整型。在python3里所有整形(数字)的功能都包含在int里。int功能展示:输入int摁住ctrl键然后同时将鼠标箭头放在int上出现小手后点击进去就能看到int所具有的功能。表示所有的数......
  • 10个使用NumPy就可以进行的图像处理步骤
    图像处理是一种数学计算。数字图像由称为像素的彩色小点组成。每个像素由红、绿、蓝(RGB)三个独立的颜色组成。每个像素中的主色由每个RGB分量的数值决定。本文将介绍10个使用使用NumPy就可以进行的图像处理步骤,虽然有更强大的图像处理库,但是这些简单的方法可以让我们更加熟练的......
  • 学会使用 NumPy:基础、随机、ufunc 和练习测试
    NumPyNumPy是一个用于处理数组的Python库。它代表“NumericalPython”。基本随机ufunc通过测验测试学习检验您对NumPy的掌握程度。通过练习学习NumPy练习练习:请插入创建NumPy数组的正确方法。arr=np.([1,2,3,4,5])示例创建NumPy数组:importnumpy......