在Python 2.7.3中为numpy数组指定字段名称
我很担心这一点,因为我显然错过了重点,解决方案太简单了:( 我有一个带有x列的np.array,我想指定一个字段名称.所以这是我的代码:
为什么会这样
而不是[1,3]? 最佳答案
你的尝试:
生成一个(3,3)数组,并为每个字段分配相同的值. data.astype(dt)做同样的事情. 但是view会生成一个(3,1)数组,其中每个字段都包含一列的数据.
我应该提醒一下,只有当所有字段都与原始字段具有相同的数据类型时,该视图才有效.它使用相同的数据缓冲区,只是以不同的方式解释值. 您可以将结果从(3,1)重新整形为(3,). 但是既然你想要A [‘1st’]是[1,3] – 一行数据 – 我们必须做一些其他操作.
我转置,然后复制(重新安排底层数据缓冲区).现在一个视图将[1,3]放在一个字段中. 请注意,结构化数组的显示使用()而不是[]来表示“行”.这是它如何接受输入的线索. 我可以将您的数据转换为元组列表:
这是一个包含3个字段的(3)数组. 元组列表是向np.array(…,dt)提供数据的常规方式.请参阅我的评论中的doc链接. 您还可以创建一个空数组,逐行填充,或逐个字段填充
没有副本我得到一个ValueError:ndarray不是C-contiguous 按字段填写:
通常,结构化数组有许多行和几个字段.所以按场填充相对较快.这就是重新排列函数处理大多数复制任务的方式. fromiter也可以使用:
但是我在使用没有副本的data.T时得到的错误是一个强有力的指示,即逐行迭代(我的[27])
zip(* data)是重新排序输入数组的另一种方式(请参阅注释链接中的@ unutbu的答案).
正如评论中指出的那样,fromarrays有效:
这是使用by字段复制方法的rec函数的示例:
在我们的案例中是: (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 范围 – Python的非本地取决于层次结构的级别?
- python – Flask会话变量在请求之间不存在
- python – pip安装eyeD3模块.找不到libmagic
- python – 关于Pandas Dataframe的Kurtosis doen
- python – 如何覆盖BaseHTTPRequestHandler log_
- python – 如何使用多个服务器进行Flask登录
- python – numpy.array的部分内容
- python – 类,dict,self,init,args?
- python – 在SQLAlchemy中动态设置__tablename__
- python – Jinja2中的宏递归