Lo pandas cut()
documentation afferma che: "I valori fuori limite saranno NA nell'oggetto Categorico risultante." Ciò rende difficile quando il limite superiore non è necessariamente chiaro o importante. Per esempio:panda tagliati con infinito limite superiore/inferiore
cut (weight, bins=[10,50,100,200])
produrrà i bidoni:
[(10, 50] < (50, 100] < (100, 200]]
Così cut (250, bins=[10,50,100,200])
produrrà un NaN
, così come cut (5, bins=[10,50,100,200])
. Quello che sto cercando di fare è produrre qualcosa come > 200
per il primo esempio e < 10
per il secondo.
Mi rendo conto che potrei fare cut (weight, bins=[float("inf"),10,50,100,200,float("inf")])
o equivalente, ma lo stile di segnalazione che sto seguendo non consente cose come (200, inf]
. Mi rendo conto che potrei effettivamente specificare etichette personalizzate tramite il parametro labels
su cut()
, ma ciò significa ricordarsi di regolarle ogni volta che aggiusto bins
, che potrebbe essere spesso.
Ho esaurito tutte le possibilità, o c'è qualcosa in cut()
o altrove in pandas
che mi aiuterebbe a fare questo? Sto pensando di scrivere una funzione wrapper per cut()
che genererebbe automaticamente le etichette nel formato desiderato dai contenitori, ma volevo controllare qui prima.
Stai chiedendo come impostare i limiti del contenitore o come etichettarne uno come "200+"? Puoi semplicemente impostare il limite superiore a 'the_data.max() + 1' o qualcosa del genere, ma penso che dovrai impostare manualmente l'etichetta se vuoi quel formato specifico. – BrenBarn
Sì, sto iniziando a pensare che sia l'unico modo. –