Clasificación de datos y pandas

Herramienta: jupyter Python3

Clasificación de datos

import numpy as np
import pandas as pd

Descripción del parámetro:
1. eje: índice del eje (dirección de clasificación), 0 representa índice (fila), 1 representa columnas (columna)
2. ascendente: si se ordena en orden ascendente, el valor predeterminado es Verdadero, que significa orden ascendente, orden descendente (Falso)
3. por: Indica la columna ordenada (ordenada por valor)

Para obtener más parámetros, consulte: https://pandas.pydata.org/docs/user_guide/dsintro.html#dataframe

Clasificación de filas y columnas de DataFrame

1. Un objeto DataFrame, 5 filas y 3 columnas, números enteros aleatorios, rango 0-9, el índice de fila es 3, 4, 6, 8, 5, organizado en orden descendente de índice de fila

df1 = pd.DataFrame(np.random.randint(0,10,(5,3)),index=[3,4,6,8,5])
df1
0 1 2
3 5 5 9
4 8 4 1
6 4 8 6
8 8 4 0
5 0 3 8
#按照行索引降序排序
df1.sort_index(axis=0,ascending=False)
0 1 2
3 5 5 9
4 8 4 1
5 0 3 8
6 4 8 6
8 8 4 0

2. Un objeto DataFrame, 5 filas y 5 columnas, números enteros aleatorios, rango 0-9, el índice de la columna es 3,1,7,9,6, organizado en orden descendente del índice de la columna.

df2 = pd.DataFrame(np.random.randint(0,10,(5,5)),columns=[3,1,7,9,6])
df2
3 1 7 9 6
0 2 0 1 1 8
1 8 6 5 8 0
2 5 6 1 9 9
3 3 3 2 9 4
4 9 1 6 0 4
df2.sort_index(axis=1,ascending=False)
1 3 6 7 9
0 0 2 8 1 1
1 6 8 0 5 8
2 6 5 9 1 9
3 3 3 4 2 9
4 1 9 4 6 0

3. Un objeto DataFrame, 5 filas y 3 columnas, números enteros aleatorios, rango 0-9, ordenados en orden descendente según el valor de la segunda columna

df3 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df3
0 1 2
0 4 7 4
1 8 3 2
2 7 3 2
3 0 6 3
4 0 4 6
df3.sort_values(by=1,ascending=False)
0 1 2
0 4 7 4
3 0 6 3
4 0 4 6
1 8 3 2
2 7 3 2

4. Un objeto DataFrame, 5 filas y 3 columnas, números enteros aleatorios, rango 0-9, ordenados en orden ascendente según el valor de la primera fila

df4 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df4
0 1 2
0 3 5 0
1 3 1 1
2 0 4 8
3 6 7 6
4 5 4 7
df4.sort_values(axis=1,by=0)
2 0 1
0 0 3 5
1 1 3 1
2 8 0 4
3 6 6 7
4 7 5 4

Índice de serie, ordenación por valor

Un objeto de serie, entero aleatorio, rango 0-10, longitud 6

ser1 = pd.Series(np.random.randint(0,10,6))
ser1
0    5
1    5
2    0
3    3
4    8
5    2
dtype: int32

1. Ordenar en orden ascendente de índice

ser1.sort_index()
0    5
1    5
2    0
3    3
4    8
5    2
dtype: int32

2. Ordenar en orden descendente por valor

ser1.sort_values(ascending=False)
4    8
1    5
0    5
3    3
5    2
2    0
dtype: int32

Nota:
1) No agregue comillas después del signo igual ascendente.
2) Tenga en cuenta que al ordenar por índice, se refiere al eje del índice. El valor predeterminado es 0 (que representa el índice de la fila), 1 (que representa el índice de la columna), pero la esencia sigue siendo el eje correspondiente.Los datos se ordenan (consulte el ejemplo anterior para obtener más detalles)
como: al ordenar por índice, cuando eje = 0, significa ordenar según el índice de la fila, que es esencialmente ordenar los valores.
3) Cuando el objeto llama a sort_values ​​para ordenar, todos los valores faltantes se colocarán al final de forma predeterminada. (El parámetro se puede usar aquí: na_position, su valor es primero, último, como su nombre lo indica, si na_position = 'primero', el valor de NaN se pondrá al principio y este último al revés).

Supongo que te gusta

Origin blog.csdn.net/m0_46202060/article/details/115305289
Recomendado
Clasificación