在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 – SQLAlchemy:排除从查询中的子查询中获取的行
- python – ctypes错误找不到AttributeError符号,OS X 10.7.
- python – 用于打开具有两个函数的文件的“with”语法
- python – 是否有任何方法可以使用openpyxl获取.xlsx表中存
- 日期(.NET)的自然语言解析器?
- python – 生成Youtube音频的链接
- python – 如何克服 – 在windows上使用文件名或扩展名失败
- python – Fedora上的psycopg2
- python – Pandas concat:ValueError:传递值的形状是blah
- python – 如何在`scipy.integrate.dblquad`中增
- python – 创建对角稀疏矩阵的有效方法
- python queue get size,使用qsize()或len()?
- 我如何确定python使用的类型的确切大小
- django – 组织硒测试和单元测试的最佳实践
- python3 requests中使用ip代理池随机生成ip的实例
- python – 改变seaborn heatmap颜色条上的刻度尺
- python – Django的call_command失败,缺少必需的
- opencv python中cv2.NORM_L2和cv2.NORM_L1之间的
- python – 向Numpy ndarray添加元数据注释