"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo dividir un marco de datos según un valor de columna específico en Pandas?

¿Cómo dividir un marco de datos según un valor de columna específico en Pandas?

Publicado el 2024-11-20
Navegar:998

How to Split a DataFrame Based on a Specific Column Value in Pandas?

División de un marco de datos según el valor de la columna en Pandas

A menudo, en el análisis de datos, nos encontramos con situaciones en las que necesitamos dividir un marco de datos en varios DataFrames basados ​​en un valor de columna específico. Uno de esos casos es cuando queremos dividir un DataFrame en dos partes: una que contiene filas con valores por debajo de un cierto umbral y otra que contiene filas con valores superiores o iguales a ese umbral.

En Pandas, podemos lograr esto dividir usando indexación booleana. Así es como podemos lograr esta división con un ejemplo:

Considere el siguiente DataFrame con una columna llamada 'Ventas':

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print (df)

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

Supongamos que queremos dividir este DataFrame en dos según un valor de Ventas de 30:

División con comparación directa:

El El método más simple es usar comparación directa con el operador de indexación booleano '>=':

s = 30

df1 = df[df['Sales'] >= s]
print (df1)

   A  Sales
2  7     30
3  6     40
4  1     50

Esto crea un nuevo DataFrame llamado df1 que contiene todas las filas donde el valor de Ventas es mayor o igual a 30.

División con máscara inversa:

Para crear un DataFrame con filas donde Ventas sea menor a 30, podemos invertir la máscara usando ~:

df2 = df[~mask]
print (df2)

   A  Sales
0  3     10
1  4     20

Esto crea un nuevo DataFrame llamado df2 que contiene todas las filas donde el valor de Ventas es menor que 30.

Declaración de liberación Este artículo se reproduce en: 1729348398 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3