Pandas: как получить уникальные значения из индексного столбца
Вы можете использовать следующие методы, чтобы получить уникальные значения индексного столбца DataFrame pandas:
Способ 1: получить уникальные значения из индексного столбца
df. index . single ()
Способ 2: получить уникальные значения из определенного столбца в MultiIndex
df. index . unique (' some_column ')
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример 1. Получение уникальных значений из индексного столбца
Предположим, у нас есть следующий DataFrame 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
Мы можем использовать следующий синтаксис, чтобы получить уникальные значения индексного столбца DataFrame:
#get unique values from index column
df. index . single ()
Int64Index([0, 1, 2, 3, 4], dtype='int64')
На выходе отображается каждое уникальное значение в столбце индекса.
Мы также можем использовать функцию len() для подсчета количества уникальных значений в столбце индекса:
#count number of unique values in index column
len ( df.index.unique ( ))
5
Мы видим, что в индексном столбце DataFrame имеется 5 уникальных значений.
Пример 2. Получение уникальных значений из определенного столбца в MultiIndex
Предположим, у нас есть следующий DataFrame 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
Обратите внимание, что этот DataFrame имеет multiIndex.
Мы можем использовать следующий синтаксис, чтобы получить уникальные значения одного столбца Team мультииндекса:
#get unique values from Team column in multiIndex
df. index . single (' Team ')
Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')
В выходных данных отображаются четыре уникальных значения из столбца Team мультииндекса: A, B, C и D.
Мы можем использовать аналогичный синтаксис для извлечения уникальных значений из столбца Division мультииндекса:
#get unique values from Division column in multiIndex
df. index . single (' Division ')
Index(['West', 'East'], dtype='object', name='Division')
В выводе отображаются два уникальных значения столбца Division мультииндекса: West и East.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:
Как преобразовать индекс в столбец в Pandas
Как переименовать индекс в Pandas
Как установить столбец как индекс в Pandas