J'ai un ensemble de données (x, y), et je voudrais calculer le r_value**2
pour chaque 10 éléments (donc entre l'élément 0 et 9, entre 1 et 10, .. ., entre n-10 et n).Trouver max r-valeur ** 2 en python
Idéalement, le code devrait donner le r_value**2_max
et enregistrer tous les r
-values dans une liste. J'ai fait une boucle, mais je ne sais pas comment dire stats.linregress
pour regarder entre test_i
et test_i+10
et enregistrer tous r-values**2
dans une liste.
Jusqu'à présent, j'ai ceci:
import matplotlib.pyplot as plt
from scipy import stats
import numpy as np
import csv
path = '/storage/.../01_python_in/'
test = np.loadtxt(path + 'sample_data.txt', skiprows=0)
test_min = 0
test_max = len(test)
for test_i in range(test_min, test_max-10):
slope, intercept, r_value, p_value, std_err = stats.linregress(test[:, 0], test[:, 1])
print 'i:', test_i, 'r**2:', r_value**2
avez-vous l'intention de le faire pour les co-x 1 et 2, 2 et 3, 3 et 4 etc., puis 10 et 11, 11 et 12 ... 18 et 19? –
On dirait que vous voulez faire une "fenêtre roulante"? Regardez ici: [Construction de tableau Numpy 2D efficace de tableau 1D] (http://stackoverflow.com/q/4923617/1730674) – askewchan