Ajout d'une colonne c'est le résultat de la différence dans les lignes consécutives dans les pandas
Permet de dire que j'ai un dataframe comme ce
A B
0 a b
1 c d
2 e f
3 g h
0,1,2,3 sont reprises, a, c, e, g est une série temporelle et b, d, f, h est un autre moment de la série.
J'ai besoin d'être en mesure d'ajouter deux colonnes à l'orignal dataframe qui est obtenu en calculant les différences de lignes consécutives pour certaines colonnes.
Donc j'ai besoin de quelque chose comme ce
A B dA
0 a b (a-c)
1 c d (c-e)
2 e f (e-g)
3 g h Nan
J'ai vu quelque chose qui s'appelle diff sur le dataframe/série, mais qui fait un peu différemment que dans le premier élément deviendra Nan.
Vous devez vous connecter pour publier un commentaire.
Utilisation maj.
df['A'] + df['A'].shift()
, mais vous ne pouvez pas soustraire depuis la soustraction n'est pas défini pour les listes.fillna
par la suite, mais si vous êtes en déplacement, ce qu'il serait raisonnable de la valeur de la première ligne?fillna
sur le résultat ensuite. Par exempledf['dA'].fillna(0)
shift
méthode. Voici un très long article dataquest.io/blog/settingwithcopywarning et un peu moins de stackoverflow réponse qui peut être utile stackoverflow.com/questions/20625582/...Vous pouvez utiliser
diff
et passer-1
comme leperiods
argument:Lors de l'utilisation de données dans le format CSV, cela fonctionne parfaitement:
De roulement des différences peuvent également être calculé de cette façon: