小编Mat*_*att的帖子

Python Numpy:将一个数组中的值替换为另一个数组中的相应值

我正在使用Python Numpy数组(特别是栅格转换为2D数组),我想要做的是获取一个具有-999的任意虚拟值的数组,表示"无数据",我想用相应的"真实"替换这些值"来自正确位置的相同大小和形状的不同数组的值.我找不到一个非常类似的问题,但请注意我是Python和Numpy的新手.

但我想做的是:

array_a = 
([[0.564,-999,-999],
 [0.234,-999,0.898],
 [-999,0.124,0.687], 
 [0.478,0.786,-999]])

array_b = 
([[0.324,0.254,0.204],
 [0.469,0.381,0.292],
 [0.550,0.453,0.349], 
 [0.605,0.582,0.551]])
Run Code Online (Sandbox Code Playgroud)

使用array_b的值填充array_a中的-999值并创建一个新数组:

new_array_a = 
([[0.564,0.254,0.204],
 [0.234,0.381,0.898],
 [0.550,0.124,0.687], 
 [0.478,0.786,0.551]])
Run Code Online (Sandbox Code Playgroud)

我真的不想改变数组的形状或尺寸,因为我之后会转换回栅格,所以我需要在正确的位置找到正确的值.做这个的最好方式是什么?

python arrays numpy python-2.7

7
推荐指数
1
解决办法
3617
查看次数

从 Python 中的 OLS 摘要获取 Durbin-Watson 和 Jarque-Bera 统计数据

我正在运行一列值的 OLS 摘要。OLS 的一部分是 Durbin-Watson 和 Jarque-Bera (JB) 统计数据,我想直接提取这些值,因为它们已经被计算出来,而不是像我现在使用 durbinwatson 那样将这些步骤作为额外步骤运行。

这是我的代码:

import pandas as pd
import statsmodels.api as sm

csv = mydata.csv
df = pd.read_csv(csv)
var = df[variable]
year = df['Year']
model = sm.OLS(var,year)
results = model.fit()
summary = results.summary()
print summary
#print dir(results)
residuals = results.resid
durbinwatson = statsmodels.stats.stattools.durbin_watson(residuals, axis=0)
print durbinwatson
Run Code Online (Sandbox Code Playgroud)

结果:

                           OLS Regression Results                            
==============================================================================
Dep. Variable:                    LST   R-squared:                       1.000
Model:                            OLS   Adj. R-squared:                  1.000
Method:                 Least Squares   F-statistic:                 3.026e+05
Date:                Fri, 10 Nov 2017   Prob …
Run Code Online (Sandbox Code Playgroud)

python statistics least-squares statsmodels

5
推荐指数
1
解决办法
3311
查看次数