df.groupby(['target']).count()
Objetivo | datos |
---|---|
Negativo | 103210 |
Positivo | 211082 |
Ahora, mi positivo de datos es demasiado grande. Quiero eliminar el 50% de las filas cuyo valor en el Target
la columna es Positive
. ¿Cómo puedo hacerlo?
df.groupby(['target']).count()
Objetivo | datos |
---|---|
Negativo | 103210 |
Positivo | 211082 |
Ahora, mi positivo de datos es demasiado grande. Quiero eliminar el 50% de las filas cuyo valor en el Target
la columna es Positive
. ¿Cómo puedo hacerlo?
Para mantener la mitad de la Positive
filas, sample
El 50% de la Positive
filas de usar frac=0.5
y drop
los índices:
indexes = df[df.target == 'Positive'].sample(frac=0.5).index
df = df.drop(indexes)
Para mantener exactamente 100K Positive
filas, sample
100K Positive
filas de usar n=100_000
y concat
con el Negative
filas:
df = pd.concat([
df[df.target == 'Negative'],
df[df.target == 'Positive'].sample(n=100_000)
])