Pandas

Pandas

La pandas se utiliza para apilar los datos de la secuencia de las columnas a la manera índice. Devuelve múltiples niveles de visualización de índice en un nuevo marco de datos. Implementaremos cómo podemos usar la función pandas stack ().

Sintaxis

pandas.DataFrame_Object.stack (nivel = -1, dropna = verdadero)

Parámetros

  1. Nivel - Se necesita un parámetro entero que especifique el nivel de apilamiento.
    1. Podemos establecer niveles como nivel - 0,1, etc.
  2. Dropna - Este otro parámetro, "dropna", se usa para soltar filas en el marco de datos apilado que tiene valores nan.

Escenario 1: columna de un solo nivel

Cree un marco de datos con 3 columnas y 5 filas. Aquí, los nombres de la columna son - ["Tipo de examen", "marca", "resultado"].

Ahora, apilaremos el marcado de datos:

importación de pandas
Resultados = pandas.DataFrame ([[["interno", 98, "pase"],
["Interior", 45, "Fail"],
["Externo", 89, "pase"],
["Externo", 67, "pase"],
["Externo", 18, "Fail"]],
columnas = ["Tipo de examen", "Marcas", "Resultado"],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab']
)
Imprimir (resultados, "\ n")
# Aplicar stack () en columna de un solo nivel
Imprimir (resultados.pila())

Producción

Resultado de las marcas de tipo de examen
Ram interno 98 pase
Sravan Internal 45 Fail
Pase externo 89 de Govind
Anup externo 67 pase
JAB externo 18 falla
Tipo de examen RAM
Marcas 98
Pase de resultados
Tipo de examen Sravan interno
Marcas 45
Resultado de resultado
Tipo de examen Govind Exterior
Marcas 89
Pase de resultados
Tipo de examen ANUP externo
Marcas 67
Pase de resultados
JAB Tipo de examen externo
Marcas 18
Resultado de resultado
dtype: objeto

Explicación

Ahora, se muestra el cuadro de datos apilado. Discutamos esto en detalle para una fila.

RAM - El tipo de examen es 'interno', RAM - Marcas es 98 y RAM - El resultado es 'Fail'. Del mismo modo, para todas las filas restantes, puede ver que los valores están apilados.

Escenario 2: columna de nivel múltiple con nivel - 0

Una de las siguientes maneras en Python para crear un multiíndex es mediante el uso del muliíndex.del método de_tupples (). Tomará los nombres de la columna en la lista de tuplas como parámetro. Finalmente, pasaremos esto al parámetro "columnas" en el marco de datos de pandas.

Sintaxis

Multiíndex.from_tuples ([('columnas, ...), ...]

Ejemplo 1

Cree un marco de datos con filas que tengan multiíndex. Apilar el DataFrame con Nivel-0.

importación de pandas
Resultados = pandas.DataFrame ([[["interno", 98, "pase"],
["Interior", 45, "Fail"],
["Externo", 89, "pase"],
["Externo", 89, "pase"],
["Externo", 45, "Fail"]],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
columnas = pandas.Multiíndex.from_tuples ([(('Exámenes', 'Tipo de examen'), ('Marcas aseguradas', 'Total'), ('Estado', 'Resultado')]
))
Imprimir (resultados, "\ n")
# Aplicar stack () con nivel-0 en columna de nivel múltiple
Imprimir (resultados.pila (nivel = 0))

Producción

Los exámenes marca el estado asegurado
Resultado total del tipo de examen
Ram interno 98 pase
Sravan Internal 45 Fail
Pase externo 89 de Govind
Anup externo 89 pase
Jab externo 45 fallas
Tipo de examen Total
Exámenes RAM nan interno nan
Marcas aseguradas nan nan 98.0
Estatus nan pase nan
Sravan Exámenes internos nan nan
Marcas aseguradas nan nan 45.0
Estatus nan fail nan
Exámenes de Govind Nan Nan externo
Marcas aseguradas nan nan 89.0
Estatus nan pase nan
Exámenes ANUP NAN NAN EXTERNA
Marcas aseguradas nan nan 89.0
Estatus nan pase nan
Exámenes jab nan nan nan
Marcas aseguradas nan nan 45.0
Estatus nan fail nan

Explicación

Puedes ver los múltiples índices. Para la fila:

  1. RAM - para el índice 'Exámenes' y 'Tipo de examen' - El valor es .Interno.
  2. RAM - para el índice 'Exámenes' y 'Resultado' - El valor es nan (no un número).
  3. RAM - para el índice 'Exámenes' y 'Total' - El valor es NAN.
  4. RAM - para el índice 'marcas aseguradas' y 'tipo de examen' - el valor es nan.
  5. RAM - para el índice 'Marcas aseguradas' y 'resultado' - el valor es nan.
  6. RAM - para el índice 'Marcas aseguradas' y 'total' - El valor es 98.0.
  7. RAM - para el índice 'estado' y 'tipo de examen' - el valor es nan.
  8. RAM - para el índice 'estado' y 'resultado': el valor es "pasar".
  9. RAM - para el índice 'estado' y 'total': el valor es nan

Del mismo modo, para todas las filas, el apilamiento ocurrió en el formato anterior. Para los valores perdidos, NAN se reemplaza.

Ejemplo 2

Cree un marco de datos con filas que tengan multiíndex. Apilar el marco de datos con el nivel 2.

importación de pandas
Resultados = pandas.DataFrame ([[["interno", 98, "pase"],
["Interior", 45, "Fail"],
["Externo", 89, "pase"],
["Externo", 67, "pase"],
["Externo", 18, "Fail"]],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
columnas = pandas.Multiíndex.from_tuples ([(('Exámenes', 'Tipo de examen'), ('Marcas aseguradas', 'Total'), ('Estado', 'Resultado')]
))
# Aplicar stack () con nivel 1 en columna de nivel múltiple
Imprimir (resultados.pila (nivel = 1))

Producción

Los exámenes marca el estado asegurado
Tipo de examen RAM Nan interna Nan
Resultado nan nan pase
Total Nan 98.0 nan
Tipo de examen Sravan Nan interna NAN
Resultado nan nan fail
Total Nan 45.0 nan
Tipo de examen Govind Nan externo
Resultado nan nan pase
Total Nan 89.0 nan
Tipo de examen ANUP NAN externa NAN
Resultado nan nan pase
Total Nan 67.0 nan
JAB Tipo de examen NAN NAN NAN EXTERNA
Resultado nan nan fail
Total Nan 18.0 nan

Conclusión

Pandas "Stack" es una técnica extravagante para apilar las columnas de nivel en filas (índice). En las áreas donde los trabajadores necesitan trabajar en las filas en lugar de las columnas o pueden querer tener los datos de la fila, pero lo han hecho en columnas, este método es para ellos. Ahorrará su precioso tiempo simplemente utilizando el método de pandas pila. Hemos hecho varias formas en que funciona la pandas de acuerdo con la situación. Cada situación tiene su forma de resolver el problema para dar los resultados deseados en el marco de datos.