Problema:Calcolare nuovo valore basato sul valore decrescente
Cosa ho piace fare è passo-passo ridurre un valore in una Series
da una cifra base continuamente diminuendo.
non sono sicuro della terminologia per questo - pensavo che avrei potuto fare qualcosa con cumsum
e diff
ma penso che mi sto portando su un inseguimento oca selvatica lì ...
codice di partire :
import pandas as pd
ALLOWANCE = 100
values = pd.Series([85, 10, 25, 30])
uscita desiderata:
desired = pd.Series([0, 0, 20, 30])
Rationale:
partendo da una base di ALLOWANCE
- ogni valore nella Series
è ridotto della restante parte è l'assegno stesso, in modo verificano i seguenti passaggi:
- Iniziare con 100 , siamo in grado di rimuovere completamente
85
così diventa0
, ora abbiamo lasciato come15
ALLOWANCE
- Il valore successivo è
10
e abbiamo ancora15
dispo ble, quindi questo diventa0
di nuovo e abbiamo5
a sinistra. - Il valore successivo è
25
- abbiamo lasciato solo5
, quindi questo diventa20
e ora non abbiamo più alcuna autorizzazione. - Il valore successivo è
30
e, poiché non vi è alcuna tolleranza, il valore rimane come30
.
Vorrei rinominare la variabile 'values' in' spese' e la variabile 'desiderata' in' debiti', che in combinazione con 'allowance' consente al lettore di capire cosa stai cercando di realizzare senza nemmeno guardare il testo, imo. – mucaho