Pandas: como obter valores únicos da coluna do índice
Você pode usar os seguintes métodos para obter os valores exclusivos da coluna de índice de um DataFrame do pandas:
Método 1: Obtenha valores exclusivos da coluna de índice
df. index . single ()
Método 2: Obtenha valores exclusivos de uma coluna específica no MultiIndex
df. index . unique (' some_column ')
Os exemplos a seguir mostram como usar essa sintaxe na prática.
Exemplo 1: Obtenha valores exclusivos da coluna de índice
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]}, index = [0, 1, 1, 1, 2, 2, 3, 4]) #view DataFrame print (df) team points assists 0 to 18 5 1 B 22 7 1 C 19 7 1 D 14 9 2 E 14 12 2 F 11 9 3 G 20 9 4:28 4
Podemos usar a seguinte sintaxe para obter os valores exclusivos da coluna de índice do DataFrame:
#get unique values from index column
df. index . single ()
Int64Index([0, 1, 2, 3, 4], dtype='int64')
A saída exibe cada um dos valores exclusivos na coluna do índice.
Também podemos usar a função len() para contar o número de valores únicos na coluna do índice:
#count number of unique values in index column
len ( df.index.unique ( ))
5
Podemos ver que existem 5 valores únicos na coluna de índice do DataFrame.
Exemplo 2: Obtenha valores exclusivos de uma coluna específica no MultiIndex
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd #define index values index_names = pd. MultiIndex . from_tuples ([(' West ',' A '), (' West ', ' A '), (' West ', ' B '), (' East ', ' C '), (' East ', ' C '), (' East ', ' D ')], names=[' Division ', ' Team ']) #define data values data = {' Sales ': [12, 44, 29, 35, 44, 19]} #createDataFrame df = pd. DataFrame (data, index=index_names) #view DataFrame print (df) Sales Division Team West A 12 At 44 B29 East C 35 C 44 D 19
Observe que este DataFrame possui um multiIndex.
Podemos usar a seguinte sintaxe para obter os valores exclusivos da única coluna Team do multiIndex:
#get unique values from Team column in multiIndex
df. index . single (' Team ')
Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')
A saída exibe os quatro valores exclusivos da coluna Equipe do multiIndex: A, B, C e D.
Podemos usar uma sintaxe semelhante para extrair valores únicos da coluna Divisão do multiIndex:
#get unique values from Division column in multiIndex
df. index . single (' Division ')
Index(['West', 'East'], dtype='object', name='Division')
A saída exibe os dois valores exclusivos da coluna Divisão do multiIndex: Oeste e Leste.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras funções comuns em pandas:
Como converter índice em coluna no Pandas
Como renomear o índice no Pandas
Como definir coluna como índice no Pandas