栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

numpy,命名列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy,命名列

NumPy结构化数组具有命名列:

import numpy as npa = range(100)A = np.array(list(zip(*[iter(a)] * 2)), dtype=[('C1', 'int32'),('C2', 'int64')])print(A.dtype)[('C1', '<i4'), ('C2', '<i8')]

您可以按以下名称访问列:

print(A['C1'])# [ 0  2  4  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48#  50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98]

请注意,使用

np.array
with
zip
会导致NumPy从元组的临时列表构建数组。Python元组列表比等效的NumPy数组使用更多的内存。因此,如果数组很大,则可能不希望使用
zip

相反,给定NumPy数组

A
,您可以用于
ravel()
制作
A
一维数组,然后用于
view
将其转换为结构化数组,然后用于
astype
将列转换为所需的类型:

a = range(100)A = np.array(a).reshape( len(a)//2, 2)A = A.ravel().view([('col1','i8'),('col2','i8'),]).astype([('col1','i4'),('col2','i8'),])print(A[:5])# array([(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)], #       dtype=[('col1', '<i4'), ('col2', '<i8')])print(A.dtype)# dtype([('col1', '<i4'), ('col2', '<i8')])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号