如何存储XY数据以使用Numpy中的函数?

2024-09-27 21:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

一般来说:

  1. 使用两个一维Numpy数组,一个用于X,一个用于Y?

  2. 使用一个二维Numpy数组,X在一个轴上,Y在另一个轴上?

  3. 使用单个structured array

当你有XY-Z数据时,这是如何变化的?在

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


Tags: 数据函数文档numpy光谱scipy数组array
1条回答
网友
1楼 · 发布于 2024-09-27 21:24:45

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

通常在常规网格上生成值比较方便。例如,使用np.meshgrid或{}和arange或{}值来定义二维空间。结果可以是3个2d数组x和{}值,以及作为这些值函数的z。在

但现实世界的数据通常是以分散点的形式提供的。然后,每个点都是一个xy位置,并有一个z值。你不能把它们转换成2d数组,至少没有插值。所以三个一维数组是合适的表示。或者一个(n, 3)矩阵,每个变量对应一列。或者,如果这些值有不同的数据类型-比如说x和y的整数,z的浮点,然后是一个有3个字段的结构化数组。在

通常数据是从csv文件加载的-这些列表示那些x,y,z值,可能带有字符串标签和多个z值。对于混合的数据类型,它们通常使用genfromtxt进行加载,从而得到一个1d结构化数组。在

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

要深入研究这个问题,您可能需要扩展需要使用的数据类型和包。在

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

相关问题 更多 >

    热门问题