Mi trama de datos es el siguiente orders_total
:
price amount side
0 0.003019 100 bids
0 0.003143 100 asks
Cuando trato de reemplazar un valor específico mediante el procedimiento siguiente:
orders_total[orders_total.side == 'asks'].loc[index].amount -= 10
Sin embargo, al imprimir la trama de datos no se cambia ... alguna idea de por qué? ¡Gracias!
Usted está tratando de modificar en el lugar cuando realmente estamos teniendo una copy
de la trama de datos, no un punto de vista, y por tanto la trama de datos original permanece sin cambios. Esto se conoce como indexación encadenado .
Para saber más sobre este cheque: Devolución de una vista frente a una copia .
Quiere crear un índice a lo largo de ambos ejes utilizando .loc
. Esto conducirá a una sola llamada a __getitem__
que devolverá una vista de la trama de datos, y cambia a este punto de vista se verá reflejado en la trama de datos originales:
orders_total.loc[orders_total.side == 'asks', 'amount'] -= 10