/
Вопросы и ответы
/
Аналитика данных
/

Как вывести уникальные значения pandas

Как вывести уникальные значения pandas

4 года назад

Arthur Cheremisin

Ответы

1

Чтобы вывести уникальные значения из столбца в датасете, используйте метод unique().

1
2
unique_values = df['column_name'].unique()
print(unique_values)

Если же мы хотим вывести уникальные значения из нескольких столбцов, можно воспользоваться методом drop_duplicates():

1
2
unique_values = df[['column1', 'column2']].drop_duplicates()
print(unique_values)

2 года назад

Maksim Litvinov

0

Уникальные значения столбца возвращает метод unique():

1
2
3
4
import pandas as pd

df = pd.DataFrame({"city": ["Москва", "Казань", "Москва", "Сочи", None]})
print(df["city"].unique())  # => ['Москва' 'Казань' 'Сочи' None]

Результат — массив NumPy в порядке первого появления. Пропуски тоже попадают в список.

Количество уникальных значений

1
print(df["city"].nunique())  # => 3 — пропуски не считаются

Сколько раз встречается каждое значение

1
2
3
4
print(df["city"].value_counts())
# Москва    2
# Казань    1
# Сочи      1

С пропусками: value_counts(dropna=False). В долях: value_counts(normalize=True).

Уникальные строки таблицы

drop_duplicates() удаляет повторяющиеся строки:

1
2
df = pd.DataFrame({"name": ["Анна", "Анна", "Олег"], "city": ["Москва", "Москва", "Казань"]})
print(len(df.drop_duplicates()))  # => 2

Уникальные сочетания нескольких столбцов: df[["name", "city"]].drop_duplicates().

Дубликаты только по одному столбцу, оставляя первую строку: df.drop_duplicates(subset=["name"], keep="first").

Уникальные значения списком

1
2
cities = df["city"].unique().tolist()
print(cities)  # => ['Москва', 'Казань']

Отсортированный список: sorted(df["city"].dropna().unique()).

Уникальные значения по всем столбцам

1
2
for col in df.columns:
    print(col, df[col].nunique())

Работу с таблицами в pandas разбирают в курсе «Python для анализа данных».

5 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845