Ho un semplice dataframe come il seguente:Pandas dataframe: sostituire tutti i valori in una colonna, in base alla condizione
voglio selezionare tutti i valori dalla colonna 'prima stagione' e sostituire quelle che sono oltre il 1990 per 1. In questo esempio, solo i Baltimore Ravens avrebbero sostituito il 1996 con 1 (mantenendo intatto il resto dei dati).
ho usato il seguente:
df.loc[(df['First Season'] > 1990)] = 1
Ma, sostituisce tutti i valori in quella riga da 1, e non solo i valori nella colonna 'prima stagione'.
Come posso sostituire solo i valori da quella colonna?
lavorato grande! Non è possibile imporre trasformazioni multiple? 'df.loc [df ['Prima stagione']> 1990, 'Prima stagione'] = 1 df.loc [df ['Prima stagione'] <1990, 'Prima stagione'] = 0' rende tutti i valori in quella colonna restituisce 0 – ichimok
Puoi usare un trucco 'df ['Prima stagione'] = (df ['Prima stagione']> 1990) .astype (int)' questo crea una serie booleana e il cast per int converte 'True' e 'False' a' 1' e '0' rispettivamente – EdChum
astype (int) è più Pandorable! Buona risposta. – mythicalcoder