首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储X数据以便使用Numpy中的函数?

如何存储X数据以便使用Numpy中的函数?
EN

Stack Overflow用户
提问于 2016-08-10 19:46:20
回答 2查看 922关注 0票数 2

NumpyScipy都有许多有用的函数来执行对数据的操作(例如,积分、傅里叶变换、基线校正等)。但是,我还没有看到关于将X数据输入到这些函数中的一般形式的文档。假设我有一个光谱的波长和吸光度值,或应力和应变数据从一个力学性能测试。

一般情况下:

  1. 使用两个一维Numpy数组,一个用于X,另一个用于Y?
  2. 使用一个二维Numpy数组,X在一个轴上,Y在另一个轴上?
  3. 使用单个structured array

当您拥有XY数据时,这种情况会如何改变呢?

XY数据最通用的数据结构是什么,它允许我直接将数据输入到这些函数中,而不需要重新定义如何存储数据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-10 20:57:03

检查每个包和操作类或函数的文档。scipy是一个包集合,由不同的人编写,通常为更老的Fortran或C包提供接口。因此输入格式受到这些源的限制。它们也取决于什么是适合这个问题的。

通常,在规则网格上生成值是很方便的。例如,使用np.meshgridnp.mgridarangelinspace值一起定义2d空间。结果可以是32d数组-- xy值,以及作为这些值的函数的z

但现实世界的数据往往可以作为散点点使用。然后,每个点都是一个xy位置,其中包含一个z值。您不能将这些转换为2d数组,至少在没有插值的情况下是不能的。因此,三个一维数组是合适的表示形式。或者一个(n, 3)矩阵,每个变量都有一列。或者,如果值有不同的dtype --比如x和y的整数,z的float,那么是一个包含3个字段的结构化数组。

数据通常是从csv文件中加载的--表示这些x,y,z值的列,可能带有字符串标签和多个z值。由于数据类型的混合,它们通常被加载到genfromtxt中,从而形成了一个一维结构化数组。

从结构化数组映射到具有统一dtype的多个数组很容易。有时,您只需使用字段名进行索引,其他情况可能需要一个view

要深入了解这一点,您可能需要扩展数据类型和需要使用的包。

http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html#scipy.interpolate.griddatainterpolate.griddata演示了点数据和网格数据的使用。

票数 3
EN

Stack Overflow用户

发布于 2021-01-05 14:36:58

虽然这不是你的问题的答案,但是要知道,如果你只使用两个或三个维度,你可以很容易地从一个标准切换到另一个标准。

XYZ = np.column_stack((X, Y, Z))X, Y, Z = XYZ.tranpose().

通常,与其他数据分析相比,它们都是相当便宜的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38882257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档