clasificación de la serie Pandas

clasificación de la serie Pandas
En esta publicación, veremos diferentes formas de clasificar una serie de pandas. Abra Python en el terminal usando el comando pitón. Una vez que el terminal abre Python, importe pandas en él. Pandas es la biblioteca de Python que contiene el objeto de la serie. $ Python
Python 2.7.18 (predeterminado, 8 de marzo 2021, 13:02:45)
[GCC 9.3.0] en Linux2
Escriba "Ayuda", "Copyright", "Créditos" o "Licencia" para obtener más información.
>>> Importar pandas como PD

Una serie Pandas es una matriz unidimensional con etiquetas de eje (índices). Las etiquetas no necesitan ser únicas, pero deben ser con Hashable. El objeto de la serie permite al usuario almacenar una colección de tipos similares de variables. Puede almacenar cualquier tipo de datos: entero, flotación, objetos, etc. Un objeto en serie se puede ordenar de varias maneras utilizando diferentes parámetros en su llamada. Se puede inicializar una serie utilizando el comando pd.Serie. Por defecto, los pandas ordenan el objeto de la serie en orden ascendente.

>>> S = PD.Serie ([6, 3, 8, 2, 9])
>>> S.sort_values ​​()
3 2
1 3
0 6
2 8
4 9
dtype: int64

La clasificación de valores en orden descendente se puede lograr utilizando el parámetro ascendente. Configurando ascendente a FALSO, La serie se puede ordenar en orden descendente.

>>> S.sort_values ​​(ascending = false)
4 9
2 8
0 6
1 3
3 2
dtype: int64

Por defecto, la llamada a sort_values Devuelve una copia del objeto de la serie. Para conjuntos de datos de gran tamaño, esto es inviable ya que resulta en generar una nueva copia de datos. Para evitar eso, la operación de clasificación se puede realizar en el lugar utilizando el en su lugar palabra clave. Asignando en su lugar como Verdadero, Hace que el objeto de la serie se clasifique en el lugar sin tomar espacio adicional.

>>> S.sort_values ​​(ascending = false, inplace = true)
>>> S
4 9
2 8
0 6
1 3
3 2
dtype: int64

En el caso anterior, tenga en cuenta que no se devuelve una copia adicional de los datos.

Los pandas permiten al usuario elegir el algoritmo de clasificación para realizar la operación de clasificación. Se puede configurar el algoritmo de clasificación utilizando el amable parámetro. El amable El parámetro toma uno de los siguientes valores como argumentos: Quicksort, Mergesort, Heapsort. Por defecto, el algoritmo QuickSort se usa para ordenar los valores.

>>> S.sort_values ​​(kind = 'Quicksort')
3 2
1 3
0 6
2 8
4 9
dtype: int64

A veces, un objeto en serie contiene N / A valores. Los valores de NA son los valores que faltan en el objeto de la serie. Los valores de NA se pueden colocar al comienzo de la matriz o al último de la matriz. La posición se puede asignar utilizando el parámetro Na_Position.

>>> S = PD.Serie ([6, 3, 8, NP.nan, 2, 9])
>>> S.sort_values ​​(na_position = 'Last')
4 2.0
1 3.0
0 6.0
2 8.0
5 9.0
3 nan
dtype: float64

El N / A Los valores también podrían eliminarse antes de clasificar. Esto se puede lograr usando el comando dropna.

>>> S = PD.Serie ([6, 3, 8, NP.nan, 2, 9])
>>> S.dropna ().sort_values ​​(na_position = 'Last')
4 2.0
1 3.0
0 6.0
2 8.0
5 9.0
dtype: float64

Durante el tipo, observamos que el índice sigue siendo el mismo para la nueva matriz ordenada. El índice se puede ignorar usando el parámetro ignorar_index. Se necesita un valor de bool: Verdadero o FALSO. Si Verdadero, el índice se ignora en la salida. Por defecto, es FALSO.

>>> S.sort_values ​​(ignore_index = true, na_position = 'primero')
0 nan
1 2.0
2 3.0
3 6.0
4 8.0
5 9.0
dtype: float64

A veces es conveniente usar una función clave para ordenar los valores. En tales casos, se puede pasar explícitamente la función clave utilizando el llave parámetro. Para clasificar usando el llave función, la función clave se aplica a los valores de la serie antes de clasificar. Considere el siguiente ejemplo, que no usa llave parámetros.

>>> S = PD.Serie (data = ['a', 'b', 'c', 'd'])
>>> S.sort_values ​​()
1 B
3 D
0 A
2 C
dtype: objeto

La serie anterior se puede ordenar usando llave Parámetro de la siguiente manera.

>>> S.sort_values ​​(key = lambda x: x.stri.más bajo())
0 A
1 B
2 C
3 D
dtype: objeto

En lugar de una función lambda, numpy Las funciones también podrían usarse como llave funciones. En la siguiente función, el orden ordenado se evalúa utilizando el NP.función de pecado que calcula el seno valor y lo usa como clave de clasificación.

>>> importar numpy como np
>>> S = PD.Serie ([1, 2, 3, 4, 5])
>>> S.sort_values ​​(key = np.pecado)
4 5
3 4
2 3
0 1
1 2
dtype: int64

Un objeto en serie también se puede ordenar por el valor del índice. Considere el siguiente ejemplo. Para ordenar por índice, llamamos sort_index.

>>> S = PD.Serie (datos = [1, 2, 3, 4], index = ['d', 'b', 'c', 'a'])
>>> S.sort_index ()
un 4
b 2
C 3
D 1
dtype: int64

La clasificación por un índice es la misma en todas las formas que la clasificación por valores, incluidos los parámetros, excepto que opera en el índice en lugar de los datos.