Python 来自 csv 文件的矩阵的线性插值
Python linear interpolation of a matrix from csv file
我对 python 很陌生,自从去年开始我的本科生以来我一直在使用它。
背景:
我有一个带有 x、y、z 矩阵的 csv 文件,其中 x 是距离,y 是高度,z 是参数。
基本上是参数随高度和距离的变化,其中 x(距离)在列向下,y(高度)在行中向右。
问题:
x 和 y 的间隔定义了高度和距离的变化,因此与 z 相关。
Objective:
Lnearly 将 x 和 y 以及 z 内插到不同的区间。
当前间隔示例:
x: min = 0, max = 99.22, interval = 0.041
y: min = 0, max = 83.72, interval = 0.104
期望的结果:
x: 最小 = 0, 最大 = 99, 间隔 = 0.02
y: min = 0, max = 84, interval = 0.10
任何人都可以帮忙解决这个问题吗?我确定这是一个非常简单的问题,但我仍然是一个不聪明的学徒。
非常感谢
python 已经有一个名为 numpy 的库,它可以帮助您处理线性代数并且有很多好东西。
您可以从这里开始学习:
https://numpy.org/devdocs/user/quickstart.html
要读取 csv 文件,您可以使用另一个名为 pandas.
的著名库
你可以看到link:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
例如,您读取 csv 的代码如下所示:
import pandas as pd
import numpy as np
df = pd.read_csv('your_file')
x = df['x'].tonumpy()
y = df['y'].tonumpy()
z = df['z'].tonumpy()
你的 x、y 和 z 将被视为 numpy 数组。
您可以使用 numpy 函数 linspace 创建一个包含 spaced 个值的数组,像那样:
foo = np.linspace(0, 99, 0.02)
numpy 自动构建数组 foo 值从 0 到 99 0.02 space.
我对 python 很陌生,自从去年开始我的本科生以来我一直在使用它。
背景:
我有一个带有 x、y、z 矩阵的 csv 文件,其中 x 是距离,y 是高度,z 是参数。
基本上是参数随高度和距离的变化,其中 x(距离)在列向下,y(高度)在行中向右。
问题:
x 和 y 的间隔定义了高度和距离的变化,因此与 z 相关。
Objective:
Lnearly 将 x 和 y 以及 z 内插到不同的区间。
当前间隔示例:
x: min = 0, max = 99.22, interval = 0.041
y: min = 0, max = 83.72, interval = 0.104
期望的结果:
x: 最小 = 0, 最大 = 99, 间隔 = 0.02
y: min = 0, max = 84, interval = 0.10
任何人都可以帮忙解决这个问题吗?我确定这是一个非常简单的问题,但我仍然是一个不聪明的学徒。
非常感谢
python 已经有一个名为 numpy 的库,它可以帮助您处理线性代数并且有很多好东西。
您可以从这里开始学习: https://numpy.org/devdocs/user/quickstart.html
要读取 csv 文件,您可以使用另一个名为 pandas.
的著名库你可以看到link:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
例如,您读取 csv 的代码如下所示:
import pandas as pd
import numpy as np
df = pd.read_csv('your_file')
x = df['x'].tonumpy()
y = df['y'].tonumpy()
z = df['z'].tonumpy()
你的 x、y 和 z 将被视为 numpy 数组。
您可以使用 numpy 函数 linspace 创建一个包含 spaced 个值的数组,像那样:
foo = np.linspace(0, 99, 0.02)
numpy 自动构建数组 foo 值从 0 到 99 0.02 space.