scipy 相关问题

SciPy是一个用于Python编程语言的算法和数学工具的开源库。

使用Python进行指数曲线拟合

我想知道是否有人知道如何使用Python找到阿伦尼乌斯方程(𝑘𝑔𝑎𝑠=𝐴𝑒^(−𝐵𝑅𝑇))中A和B的值。在此方程中,𝑇 的单位为开尔文,A 的单位为 mL/min。我们...

回答 1 投票 0

如何正确使用 scipy.integrate 中的 ode() 处理二阶方程?

在此输入图像描述 这些是我的星球的运动方程。 使用odeint,它工作得很好,因为odeint可以处理二阶。 但 odeint 不是很精确,所以我被要求......

回答 1 投票 0

如何使用“pandas”DataFrames和“scipy”高度优化相关性计算

我想计算 pandas DataFrame 列的皮尔逊相关性。我不仅仅想使用 DataFrame.corr() 因为我还需要相关性的 pvalue;因此,我使用 scipy。

回答 2 投票 0

如何使用“pandas”DataFrames和“scipy”高度优化相关计算

我想计算 pandas DataFrame 列的皮尔逊相关性。我不仅仅想使用 DataFrame.corr() 因为我还需要相关性的 pvalue;因此,我使用 scipy。

回答 1 投票 0

使用 scipy.spatial.transform.Rotation 进行 6 DoF 模拟的角度变换矩阵

我正在编写一个用于车辆 6 DoF 运动的模拟器,需要将全局坐标系中定义的力矩和角速度转换为车辆参考系并返回。不...

回答 1 投票 0

scipy:如何绘制层次聚类树

我有兴趣绘制由hierarchy.to_tree()的输出表示的树。 为了澄清我的问题,我给出以下 MWE: 将 numpy 导入为 np 从 scipy.cluster 导入层次结构 来自...

回答 1 投票 0

使用四元数和 scipy.spatial.transform.Rotation 进行 6 自由度模拟旋转

我正在为遥控水下航行器(ROV)编写一个简单的模拟器。我想使用四元数的 scipy 实现,而不是之前基于构造旋转的方法

回答 1 投票 0

纯 numpy/scipy 中具有可能重复项的 numpy 数组的排名

我有一个浮点数/整数的numpy数组,想要将每个元素映射到它们的排名。 如果数组没有重复项,则可以通过以下代码解决问题: 在[49]中:a1 输出[49]:数组([ 0....

回答 3 投票 0

开放AI健身房随机播种

我有一个关于在开放人工智能健身房中播种并在自定义环境中使用它的问题。 我们以月球着陆器环境为例,默认的播种函数是: def 种子(自我,种子=否...

回答 1 投票 0

在Python中绘制脑电图数据的频谱图很困难

我正在做一些模仿以下链接的一些图的任务: “https://www.nature.com/articles/s41598-023-37829-z”, 但当我试图在...中绘制脑电图频谱图时遇到问题

回答 1 投票 0

错误:将 _lbfgsb.setulb 的第 7 个参数 `g' 转换为 C/Fortran 数组失败

假设 defvaluateFunc(参数): ... 返回错误,毕业 其中 params 是由 N 个实值组成的向量,err 是一个实数,grad 是由 2 个实值组成的向量。 参数 = numpy。

回答 1 投票 0

TypeError:输入类型不支持 ufunc 'isnan' - 执行 Mann-Whitney U 测试时

我有两个数据框,primary_tumor_df 和healthy_tissue_df 来执行Mann-Whitney U 检验。我还从两个数据框中删除了 nan 值。 Primary_tumor_df 的结构。 结构...

回答 1 投票 0

是否可以优化一个变量依赖于另一个变量的曲线拟合?

我想知道是否可以将 od 曲线拟合为双指数,其中参数 b 严格优于参数 d? 我不明白如何添加这样的约束。 她...

回答 1 投票 0

如何使用nans对pandas列进行zscore标准化?

我有一个 pandas 数据框,其中有一列我想要 zscore 标准化的实际值: >> 一个 数组([ 南, 0.0767, 0.4383, 0.7866, 0.8091, 0.1954, 0.6307, 0.6599、0.1065、0...

回答 5 投票 0

Scipy Quad积分,积分可能发散或缓慢收敛

我正在尝试使用 scipy 的integrate.quad,但它不适用于我的功能。 将 numpy 导入为 np 从 scipy.integrate 导入四元组 def cos_func (x): 返回 np.cos(np.power(x, 3) + 1) 结果_...

回答 2 投票 0

寻求在 3D 网格数据集上处理 1d 线性插值

这是先前问题的后续问题:Implementing 1D interpolation on a 3D Array in Numpy or Xarray Tsoil 是一个 3D xarray 数据集,具有以下维度: 这是先前问题的后续问题:Implementing 1D interpolation on a 3D Array in Numpy or Xarray Tsoil 是一个 3D xarray 数据集,具有以下维度: <xarray.DataArray 'Tsoil' (lat: 1200, lon: 7200, depth: 4)> dask.array<xarray-<this-array>, shape=(1200, 7200, 4), dtype=float32, chunksize=(1200, 7200, 4), chunktype=numpy.ndarray> Coordinates: * lat (lat) float64 30.03 30.08 30.13 30.18 ... 89.83 89.88 89.93 89.98 * lon (lon) float64 -180.0 -179.9 -179.9 -179.8 ... 179.9 179.9 180.0 * depth (depth) float64 3.5 17.5 64.0 194.5 这对应于沿纬度/经度网格不同深度的土壤温度,因此最里面的维度恰好是 T 土壤。我想对 Tsoil 进行插值,这样我就可以在 0 厘米到 289 厘米之间每 0.5 厘米获得更精细的土壤温度分辨率,而不是 4 个深度的温度测量。这需要我对 XArray 的最内层维度执行一维插值。 我定义了一个函数,其输入是来自 xarray 数据集的块: import numpy as np import pandas as pd import xarray as xr import scipy import dask.array as da def interp1d_chunk(chunk, new_depths=new_depths, depths=depths): print(chunk) nlat, nlon, _ = chunk.shape new_chunk = np.empty((nlat, nlon, len(new_depths))) for i in range(nlat): for j in range(nlon): f = scipy.interpolate.interp1d(depths,chunk[i, j, :],bounds_error=False,fill_value="extrapolate") new_chunk[i, j, :] = f(new_depths) print(new_chunk) return new_chunk 假设 Tsoil(出于此处的目的)是一个大小为 (4,4,4) 的 3d 数组: test_array = np.asarray([[[ 9.984375 , 9.315826 , 6.753296 , -0.71829224], [ 9.812378 , 9.15155 , 6.6003723 , -0.7545166 ], [ 9.925293 , 9.266205 , 6.729767 , -0.67056274], [ 9.925293 , 9.266205 , 6.729767 , -0.67056274]], [[10.201508 , 9.524597 , 6.9415283 , -0.6557312 ], [ 9.812378 , 9.15155 , 6.6003723 , -0.7545166 ], [10.083374 , 9.394531 , 6.7566833 , -0.7775879 ], [ 9.925293 , 9.266205 , 6.729767 , -0.67056274]], [[10.201508 , 9.524597 , 6.9415283 , -0.6557312 ], [ 9.812378 , 9.15155 , 6.6003723 , -0.7545166 ], [10.083374 , 9.394531 , 6.7566833 , -0.7775879 ], [ 9.925293 , 9.266205 , 6.729767 , -0.67056274]], [[10.201508 , 9.524597 , 6.9415283 , -0.6557312 ], [10.109436 , 9.4236145 , 6.80542 , -0.7413635 ], [10.083374 , 9.394531 , 6.7566833 , -0.7775879 ], [10.083374 , 9.394531 , 6.7566833 , -0.7775879 ]]],dtype=np.float32) test_lats = [60.275, 60.325, 60.375, 60.425] test_lons = [140.75, 140.8, 140.85, 140.9] depths=np.asarray([3.5,17.5,64,194.5]) new_depths = np.arange(0,289.1,0.5) 我将创建一个名为 test_stemp 的虚拟 XArray: test_stemp = xr.DataArray(test_array,'lat':test_lats,'lon':test_lons,'depth' coords={'lat':lats,'lon':lons,'depth':depths}, dims=['lat','lon','depth']).rename('Tsoil').chunk(chunks={lat_var:len(test_lats),lon_var:len(test_lons),'depth':4}) 然后我尝试通过 interp1d_chunk 运行它,并沿 new_depths 进行插值,但似乎该函数传递的块大小为零: stemp_interp = da.map_blocks(interp1d_chunk, chunk=test_stemp, new_depths=new_depths, depths=depths, dtype='float',chunks=(len(test_lats),len(test_lons),len(new_depths))) <xarray.DataArray (lat: 0, lon: 0, depth: 0)> array([], shape=(0, 0, 0), dtype=float32) Coordinates: * lat (lat) float64 * lon (lon) float64 * depth (depth) float64 有人对我的函数或程序可能有什么问题有什么建议吗? 这是预期的行为。 请注意,map_blocks 将尝试通过在输入的 0 维版本上调用 func 来自动确定输出数组类型。如果您预计该函数在 0 维数组上操作时不会成功,请参阅下面的 meta 关键字参数。 https://docs.dask.org/en/stable/ generated/dask.array.map_blocks.html 由于 meta 未定义,它会使用 (0, 0, 0) 数组调用您的函数。您可以定义元,或者您可以在这种情况下更改返回值,以便即使前两个轴的长度为零,它也返回一个数组。 def interp1d_chunk(chunk, new_depths, depths): print(chunk) nlat, nlon, _ = chunk.shape new_chunk = np.zeros((nlat, nlon, len(new_depths))) for i in range(nlat): for j in range(nlon): f = scipy.interpolate.interp1d(depths,chunk[i, j, :],bounds_error=False,fill_value="extrapolate") new_chunk[i, j, :] = f(new_depths) print(new_chunk) return new_chunk 请注意,我未缩进 return new_chunk 两个缩进。我认为为了正确性,这也是一个很好的改变 - 在仅插入一组深度值后返回 new_chunk 是没有意义的。 我还将np.empty()更改为np.zeros()。虽然 np.empty() 可以更快,但它 也会导致您使用未初始化的内存。通常不值得为获得不确定的结果而烦恼。 最后,请注意此计算是惰性计算。在您调用 stemp_interp.compute() 之前,它实际上不会进行插值。

回答 1 投票 0

在 Python 中计算矩阵的零空间

我试图理解如何实现本文(第5页)中的方程(6)。等式是这样的: C、P 是 HMM 中的发射矩阵和状态转移矩阵。目标是计算...

回答 1 投票 0

用 GEV 拟合分布的右尾

我在将 GEV 的右尾部拟合到我的实际分布时遇到问题。当我拟合曲线的选定部分时,我得到了错误的参数,因为它忽略了我只想要尾部的事实。我

回答 1 投票 0

为什么在我尝试实现带通巴特沃斯滤波器时输出信号与输入信号相同?

这是我的代码: def 掩码(mask_cols): ”“” 此函数屏蔽瞳孔数据帧的特定列。 ”“” masked_df = pd.read_csv(con.CLEANED_PUPIL_GA...

回答 1 投票 0

如何让 Scipy statsmedian_test 返回对象而不是元组?

我有一个脚本应该返回一个带有统计、中位数和 pvalue 属性的 MedianTestResult 对象,但我得到的是一个未标记的元组。不确定元组中的每个元素对应什么...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.