Python NumPy数组裁切和数据类型的实现即原理详解

 更新时间:2023年05月19日 10:00:46   作者:魔王不会哭  
这篇文章主要介绍了Python NumPy数组裁切和数据类型的实现即原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

裁切数组

python 中裁切的意思是将元素从一个给定的索引带到另一个给定的索引。

我们像这样传递切片而不是索引:[start:end]。

我们还可以定义步长,如下所示:[start:end:step]。

如果我们不传递 start,则将其视为 0。

如果我们不传递 end,则视为该维度内数组的长度。

如果我们不传递 step,则视为 1。

实例

从下面的数组中裁切索引 1 到索引 5 的元素:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])

运行实例

注释:结果包括了开始索引,但不包括结束索引。

实例

裁切数组中索引 4 到结尾的元素:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[4:])

运行实例

实例

裁切从开头到索引 4(不包括)的元素:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])

运行实例

负裁切

使用减号运算符从末尾开始引用索引:

实例

从末尾开始的索引 3 到末尾开始的索引 1,对数组进行裁切:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])

运行实例

STEP

请使用 step 值确定裁切的步长:

实例

从索引 1 到索引 5,返回相隔的元素:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])

运行实例

实例

返回数组中相隔的元素:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])

运行实例

裁切2-D数组

实例

从第二个元素开始,对从索引 1 到索引 4(不包括)的元素进行切片:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])

运行实例

注释:请记得第二个元素的索引为 1。

实例

从两个元素中返回索引 2:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])

运行实例

实例

从两个元素裁切索引 1 到索引 4(不包括),这将返回一个 2-D 数组:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])

运行实例

Python中的数据类型

默认情况下,Python 拥有以下数据类型:

  • strings - 用于表示文本数据,文本用引号引起来。例如 “ABCD”。
  • integer - 用于表示整数。例如 -1, -2, -3。
  • float - 用于表示实数。例如 1.2, 42.42。
  • boolean - 用于表示 True 或 False。
  • complex - 用于表示复平面中的数字。例如 1.0 + 2.0j,1.5 + 2.5j。

NumPy中的数据类型

NumPy 有一些额外的数据类型,并通过一个字符引用数据类型,

例如 i 代表整数,u 代表无符号整数等。

以下是 NumPy 中所有数据类型的列表以及用于表示它们的字符。

  • i - 整数
  • b - 布尔
  • u - 无符号整数
  • f - 浮点
  • c - 复合浮点数
  • m - timedelta
  • M - datetime
  • O - 对象
  • S - 字符串
  • U - unicode 字符串
  • V - 固定的其他类型的内存块 ( void )

检查数组的数据类型

NumPy 数组对象有一个名为 dtype 的属性,该属性返回数组的数据类型:

实例

获取数组对象的数据类型:

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

运行实例

实例

获取包含字符串的数组的数据类型:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

运行实例

用已定义的数据类型创建数组

我们使用 array() 函数来创建数组,

该函数可以使用可选参数:dtype,

它允许我们定义数组元素的预期数据类型:

实例

用数据类型字符串创建数组:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

运行实例

对于 i、u、f、S 和 U,我们也可以定义大小。

实例

创建数据类型为 4 字节整数的数组:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

运行实例

假如值无法转换会怎样

如果给出了不能强制转换元素的类型,则 NumPy 将引发 ValueError。

ValueError:在 Python 中,如果传递给函数的参数的类型是非预期或错误的,则会引发 ValueError。

实例

无法将非整数字符串(比如 ‘a’)转换为整数(将引发错误):

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

运行实例

转换已有数组的数据类型

更改现有数组的数据类型的最佳方法,是使用 astype() 方法复制该数组。

astype() 函数创建数组的副本,并允许您将数据类型指定为参数。

数据类型可以使用字符串指定,例如 ‘f’ 表示浮点数,‘i’ 表示整数等。

或者您也可以直接使用数据类型,例如 float 表示浮点数,int 表示整数。

实例

通过使用 ‘i’ 作为参数值,将数据类型从浮点数更改为整数:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

运行实例

实例

通过使用 int 作为参数值,将数据类型从浮点数更改为整数:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

运行实例

实例

将数据类型从整数更改为布尔值:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

运行实例

到此这篇关于Python NumPy数组裁切和数据类型的实现即原理详解的文章就介绍到这了,更多相关Python NumPy数组裁切和数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python模块学习 re 正则表达式

    Python模块学习 re 正则表达式

    今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数
    2011-05-05
  • NumPy数组复制与视图详解

    NumPy数组复制与视图详解

    NumPy 数组的复制和视图是两种不同的方式来创建新数组,它们之间存在着重要的区别,本文将给大家详细介绍一下NumPy数组复制与视图,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • python实现反转部分单向链表

    python实现反转部分单向链表

    这篇文章主要为大家详细介绍了python实现反转部分单向链表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python 实现

    python 实现"神经衰弱"翻牌游戏

    这篇文章主要介绍了python 实现"神经衰弱"游戏,帮助大家更好的理解和使用python的pygame库,感兴趣的朋友可以了解下
    2020-11-11
  • Python实现 PS 图像调整中的亮度调整

    Python实现 PS 图像调整中的亮度调整

    这篇文章主要介绍了Python实现 PS 图像调整中的亮度调整 ,需要的朋友可以参考下
    2019-06-06
  • python创建子类的方法分析

    python创建子类的方法分析

    这篇文章主要介绍了python创建子类的方法,结合实例形式分析了Python子类的具体定义与使用方法,需要的朋友可以参考下
    2019-11-11
  • Python numpy视图与副本

    Python numpy视图与副本

    这篇文章主要介绍了Python numpy视图与副本,继上一篇对numpy 模块之ndarray一文中对 ndarray 内存结构主要分为两部分metdata 、raw bata,下面来一起学习文章具体内容吧,需要的小伙伴也可以参考一下
    2022-01-01
  • 基于Tensorflow:CPU性能分析

    基于Tensorflow:CPU性能分析

    今天小编就为大家分享一篇基于Tensorflow:CPU性能分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python实现截取屏幕保存文件,删除N天前截图的例子

    python实现截取屏幕保存文件,删除N天前截图的例子

    今天小编就为大家分享一篇python实现截取屏幕保存文件,删除N天前截图的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python 中如何使用requests模块发布表单数据

    Python 中如何使用requests模块发布表单数据

    requests 库是 Python 的主要方面之一,用于创建对已定义 URL 的 HTTP 请求,本篇文章介绍了 Python requests 模块,并说明了我们如何使用该模块在 Python 中发布表单数据,感兴趣的朋友跟随小编一起看看吧
    2023-06-06

最新评论