plotting - Agregar una columna que es resultado de la diferencia en filas consecutivas en pandas
pandas plotting scatter_matrix (2)
Digamos que tengo un marco de datos como este
A B
0 a b
1 c d
2 e f
3 g h
0,1,2,3 son tiempos, a, c, e, g es una serie temporal y b, d, f, h es otra serie temporal. Necesito poder agregar dos columnas al marco de datos de orignal que se obtiene al calcular las diferencias de filas consecutivas para ciertas columnas.
Entonces necesito algo como esto
A B dA
0 a b (a-c)
1 c d (c-e)
2 e f (e-g)
3 g h Nan
Vi algo llamado diff en el dataframe / series pero eso lo hace de forma ligeramente diferente ya que en el primer elemento se convertirá en Nan.
Puede usar diff
y pasar -1
como el argumento de los periods
:
>>> df = pd.DataFrame({"A": [9, 4, 2, 1], "B": [12, 7, 5, 4]})
>>> df["dA"] = df["A"].diff(-1)
>>> df
A B dA
0 9 12 5
1 4 7 2
2 2 5 1
3 1 4 NaN
[4 rows x 3 columns]
Use shift .
df[''dA''] = df[''A''] - df[''A''].shift(-1)