除了python的本机数据类型外,Numpy数组还支持多种数据类型。创建数组后,我们仍然可以根据需要修改数组中元素的数据类型。用于此目的的两种方法是array.dtype和array.astype
此方法为我们提供了数组中元素的现有数据类型。在下面的示例中,我们声明一个数组并找到其数据类型。
import numpy as np # Create a numpy array a = np.array([21.23, 13.1, 52.1, 8, 255]) # Print the array print(a) # Print the array dat type print(a.dtype)
输出结果
运行上面的代码给我们以下结果-
[ 21.23 13.1 52.1 8. 255. ] float64
该方法将现有的数组转换为具有所需数据类型的新数组。在下面的示例中,我们采用给定的数组并将其转换为各种目标数据类型。
import numpy as np # Create a numpy array a = np.array([21.23, 13.1, 52.1, 8, 255]) # Print the array print(a) # Print the array dat type print(a.dtype) # Convert the array data type to int32 a_int = a.astype('int32') print(a_int) print(a_int.dtype) # Convert the array data type to str a_str = a.astype('str') print(a_str) print(a_str.dtype) # Convert the array data type to complex a_cmplx = a.astype('complex64') print(a_cmplx) print(a_cmplx.dtype)
输出结果
运行上面的代码给我们以下结果-
[ 21.23 13.1 52.1 8. 255. ] float64 [ 21 13 52 8 255] int32 ['21.23' '13.1' '52.1' '8.0' '255.0'] <U32 [ 21.23+0.j 13.1 +0.j 52.1 +0.j 8. +0.j 255. +0.j] complex64
问题内容: 我正在创建一个numpy数组,该数组将填充我制作的特定类的对象。我想初始化数组,使其仅包含该类的对象。例如,这是我想做的事,如果我做这件事会发生什么。 我可以做这个: 然后将的每个元素分配为一个对象(或任何其他类型的对象)。从编程的角度(类型检查)和数学的角度(对函数集进行操作)的角度来看,如果我能够拥有一个s数组,那将是如此的巧妙。 我可以使用任意类指定numpy数组的数据类型吗?
问题内容: 我有一个二维的numpy数组,具有相等数量的列和行。我想将它们排列成一个较大的数组,对角线上的数组较小。应该可以指定起始矩阵在对角线上的频率。例如: 因此,如果我希望此数组在对角线上2次,则期望的输出将是: 3次: 有没有一种快速的方法来使用numpy方法以及对于任意大小的起始数组(仍然考虑到起始数组具有相同的行数和列数)来实现这一点? 问题答案: 方法1 经典案例- 样品运行- 方法
主要内容:数据类型对象,数据类型标识码,定义结构化数据NumPy 作为 Python 的扩展包,它提供了比 Python 更加丰富的数据类型,如表 1 所示: 表1:NumPy数据类型 序号 数据类型 语言描述 1 bool_ 布尔型数据类型(True 或者 False) 2 int_ 默认整数类型,类似于 C 语言中的 long,取值为 int32 或 int64 3 intc 和 C 语言的 int 类型一样,一般是 int32 或 int 64
本小节将详述 Numpy 内置的数据类型,以及如何在创建数组对象时进行灵活指定、如何查看创建好的数组类型、以及如何更改数据类型。 1. 常见数据类型 Numpy 支持的数据类型比 Python 内置的要多很多,而这也是 Numpy 如此灵活和强大的原因之一。 例如对于整数,在 Numpy 中,根据整数的位数不同所需要占据的空间大小不同,又对整数类型进行类细分,常见地可以分为 int8、int16、
问题内容: 我在创建numpy数组的numpy数组时遇到问题。我将在一个循环中创建它: 所需结果: 实际结果: 可能吗?我不知道数组的最终尺寸,因此无法使用固定尺寸对其进行初始化。 问题答案: 永远不要在循环中追加数组:与基本的Python相比,这是NumPy非常不擅长的一项操作。这是因为您要对每个数据进行完整复制,这将花费您二次时间。 相反,只需将您的数组附加到Python列表中,并在最后进行转
问题内容: 我在mongodb中有一个字符串字段。,我想将它们全部转换成数组。 我知道我可以遍历所有文档,获取字段,然后更新,但是我想知道是否有更清洁的方法。 谢谢。 问题答案: 您可以在map / reduce的Reduce函数中进行此操作,以将所有处理保留在mongodb中。本质上,您将使用map / reduce将结果放入新集合中,然后可以将其复制回旧集合(或删除旧集合并重命名新集合)。这具