numpy-array初始化时指定的dtype=[(‘x‘,‘i4‘),(‘y‘,‘i4‘)]参数

今天看numpy文档时,遇到一个问题 https://numpy.org/doc/stable/reference/generated/numpy.argsort.html#numpy.argsort,在初始化array时的参数dtype=[('x','i4'),('y','i4')],做个记录:

x = np.array([(1, 1000), (0, 1111)], dtype=[('x', '<i4'), ('y', '<i4')])

这里的dtype的作用:给array中初始化值指定名字和数据类型。每一项初始化值的第一项被指定为'x',第二项被指定为'y'。

分别使用名字索引访问x中的元素:

print(x['x'])  # 输出 [1 0]
print(x['y'])  # 输出 [1000 1111]

还可以通过'x'修改x中的值

x['x'] = np.array([2000, 2222])
print(x)  # 输出 [(2000, 1000) (2222, 1111)]

'<i4'表示具体的数据类型'little-endian 32-bit signed integer',具体见 https://numpy.org/doc/stable/reference/arrays.dtypes.html#arrays-dtypes-constructing

 

参考:

https://stackoverflow.com/questions/51364975/datatype-in-numpy

 

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
你可以使用NumPy中的`np.memmap`函数来初始化一个`memmap`对象。`memmap`是一种能够将大型数组保存在磁盘上的数据结构,可以在需要进行内存映射,以便节省内存空间。下面是一个示例代码,演示了如何使用`np.memmap`来初始化一个`memmap`对象: ```python import numpy as np # 定义数组的形状和数据类型 shape = (1000, 1000) # 数组形状 dtype = np.float32 # 数据类型 # 创建一个空的memmap对象,并将其映射到磁盘上的文件 filename = 'memmap_array.dat' # 文件名 memmap_array = np.memmap(filename, dtype=dtype, mode='w+', shape=shape) # 填充数组数据 memmap_array[:] = np.random.random(shape) # 输出数组的一部分内容 print(memmap_array[:10, :10]) # 关闭memmap对象,使其保存到磁盘 del memmap_array ``` 在上述示例中,我们首先定义了数组的形状和数据类型。然后,我们创建了一个空的`memmap`对象,通过指定文件名、数据类型和形状来初始化。接下来,我们可以像操作普通的NumPy数组一样,对`memmap`对象进行操作和赋值。最后,我们通过删除`memmap`对象来关闭它,并将其保存到磁盘上的文件中。 请注意,`mode='w+'`参数用于指定`memmap`对象的打开模式。这里的`'w+'`表示以读写模式打开文件,如果该文件不存在,则创建一个新文件。你可以根据需要调整这个参数来满足你的要求。 希望这个示例能帮助到你!如果有任何问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值