gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:51:49 25 4
gpt4 key购买 nike

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

一般情况下:

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

  2. 使用一个二维 Numpy 数组,其中一个轴为 X,另一轴为 Y?

  3. 使用单个 structured array

当您拥有 XY-Z 数据时,情况会如何变化?

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

最佳答案

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

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

但现实世界的数据通常以散点形式提供。每个点都是一个带有 z 值的 xy 位置。您不能将它们转换为二维数组,至少不能在没有插值的情况下。所以三个一维数组是合适的表示。或者一个 (n, 3) 矩阵,每个变量一列。或者,如果值具有不同的数据类型 - 例如 x 和 y 为整数,z 为 float ,然后是具有 3 个字段的结构化数组。

数据通常从 csv 文件加载 - 代表这些 x,y,z 值的列,可能带有字符串标签和多个 z 值。通过混合数据类型,它们通常使用 genfromtxt 加载,从而生成一维结构化数组。

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

要深入研究这一点,您可能需要扩展数据类型以及需要使用的包。

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

关于python - 如何存储 X-Y 数据以便使用 Numpy 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38882257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com