- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Python 新手,需要一些有关 xarray 的帮助。我有两个用于 future 和过去气候的 3 维数据数组(rlon、rlat、时间)。我想计算每个网格点的曼惠特尼 U 检验,以分析 future 与过去相比温度变化的显着性。我已经完成了 Mann-Whitney-U-test 工作,从历史数据和 future 数据的一个网格点中选择一个时间序列。示例:
import numpy as np
import xarray as xr
import scipy.stats as sts
#selecting time period and grid point of past and future data
tp = fileHis['tas']
tf = fileFut['tas']
gridpoint_past=tp.sel(rlon=-6.375, rlat=1.375, time=slice('1999-01-01', '1999-01-31'))
gridpoint_future=tf.sel(rlon=-6.375, rlat=1.375, time=slice('2099-01-01', '2099-01-31'))
#mannwhintey-u-test
result=sts.mannwhitneyu(gridpoint_past, gridpoint_future, alternative='two-sided')
print('pvalue =',result[1])
输出:p值 = 0.05922372345359562
我现在的问题是,我需要对每个网格点和每个月执行此操作,最后我希望有一个数据数组,其中包含每个网格点和一年中每个月的 pvalues。我正在考虑循环遍历所有 rlat、rlon 和月份,并为每个运行 Mann-Whitney-U 测试,除非有更好的方法。如何将 pvalues 一一写入具有相同 rlat、rlon 维度的新数据数组中?我正在尝试这个,但它不起作用:我创建了一个数据数组 pvalue_mon
,它具有与 tp
和 tf
相同的 rlat、rlon,并且时间步长为 12 个月。
pvalue_mon.sel(rlon=-6.375, rlat=1.375, time=th.time.dt.month.isin([1])) = result[1]
SyntaxError: can't assign to function call
或者这个:
pvalue_mon.sel(rlon=-6.375, rlat=1.375, time=pvalue_mon.time.dt.month.isin([1])).update(result[1])
TypeError: 'numpy.float64' object is not iterable
如何替换现有变量的单个值?
最佳答案
不要使用 .sel() 函数,而是尝试使用 .loc[ ],如下所述: http://xarray.pydata.org/en/stable/indexing.html#assigning-values-with-indexing
关于python - 在Python中对多维数组应用Mann Whitney U测试并替换xarray数据数组变量的单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59985468/
我是 Python 新手,需要一些有关 xarray 的帮助。我有两个用于 future 和过去气候的 3 维数据数组(rlon、rlat、时间)。我想计算每个网格点的曼惠特尼 U 检验,以分析 fu
美好的一天。我正在使用我拥有的数据集搜索一些帮助/建议,我想为此运行 Mann-Whitney U 测试。一组虚拟的 data.frame 如下所示: Plant R1 R2 R3 R4 R5
我有一个表 (X, Y),其中 X 是一个矩阵,Y 是一个类向量。这里有一个例子: X = 0 0 1 0 1 and Y = 1 0 1 0 0 0 1 1
我想创建一个执行 Mann Whitney 测试的函数(或一种一次性执行测试的方法)。我想在同一时间内分析 2 个不同 CC 条件之间的 logSG 值。因此,对于以下数据帧,我想要 3 个对应于每个
我有一个数据框,如下所示。 我想要通过比较每一列来进行 Mann-whitney u 检验的 p 值。作为一个例子,我在下面尝试过。 from scipy.stats import mannwhitn
我有一个类似于这个的大型数据框: In [1]: grades Out[1]: course1 course2 school class st
我有一个循环,每次都给出新值 k1 和 k2,但问题是在我的数据集中,有些情况下 k1 和 k2 的所有值都为零。程序到他们那里,只是抛出一个错误,并没有完成循环,还有大量的计算。我怎样才能让这种情况
我想使用 scipy.stats.mannwhitneyu 计算 x > y 的单边 p 值功能: u_value, p_value = scipy.stats.mannwhitneyu(x, y)
我想知道为什么在 python 和 R 中进行 mann whitney u 测试时我的答案如此不同。在 python 中: from scipy.stats import mannwhitneyu
我通过 RStudio 1.2.5042 在 R 3.6.3 中使用 rstatix 库,并且在运行两个样本 Wilcoxon 又名 Mann-Whitney U 测试时得到了不可能的 p 值 1 .
我目前正在尝试使用 Mann-Whitney U Test,我发现 Apache Commons Math 已经实现了它。查阅了多个网站(Wiki就是其中之一),都表示本次测试的U统计量是U1和U2中
我通过 RStudio 1.2.5042 在 R 3.6.3 中使用 rstatix 库,并且在运行两个样本 Wilcoxon 又名 Mann-Whitney U 测试时得到了不可能的 p 值 1 .
我是一名优秀的程序员,十分优秀!