Après enquête, j'ai trouvé que cela pouvait être facilement réalisé avec la fonction numpy, donc ce mémo.
import numpy as np
"""
Différence au 1er étage
"""
x = np.array(range(10, 100)) #Vecteur approprié
x0 = x[0] #Enregistrer la valeur initiale
x_diff1 = np.diff(x)
"""
Conversion inverse
"""
tmp = np.concatenate(([x0], x_diff1))
#Ou ci-dessous
# tmp = np.r_[x[0],x_diff1]
x_ = np.cumsum(tmp)
"""
vérifier
"""
np.all(x == x_)
La plupart du temps, les fonctions de numpy font l'affaire. Je ne suis toujours pas familier avec cela, mais je veux m'en souvenir progressivement.
Je prévois d'exécuter des modèles de statistiques dans le pipeline sckit-learn, y compris ce pré-traitement, et de l'implémenter proprement, mais l'interface est subtilement incompatible. J'espère que le mettre sur le pipeline donnera de la flexibilité pour changer la logique (changer les paramètres, changer l'ordre d'exécution, changer la méthode elle-même, etc.), mais ça ne se passe pas sans problème?
Je veux savoir s'il existe un moyen facile. ..
http://qiita.com/sotetsuk/items/d0e73afdcffdc8ac3e6b
Recommended Posts