Как найти уникальные значения в нескольких столбцах в Pandas
Часто вам может быть интересно найти все уникальные значения в нескольких столбцах в кадре данных pandas. К счастью, это легко сделать с помощью функции pandas unique() в сочетании с функцией ravel() :
- unique() : возвращает уникальные значения в порядке появления.
- ravel(): возвращает сглаженный ряд данных.
Например, предположим, что у нас есть следующий кадр данных pandas:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame print(df) col1 col2 col3 0 a a 11 1 b c 8 2 c e 10 3 d f 6 4 e g 6
Возврат массива уникальных значений
Следующий код показывает, как найти уникальные значения в столбцах col1 и col2 :
pd.unique(df[['col1', 'col2']]. values.ravel ()) array(['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype=object)
Из вывода мы видим, что в этих двух столбцах есть 7 уникальных значений: a, b, c, d, e, f, g .
Возвратите DataFrame уникальных значений
Если вы хотите вернуть эти значения в виде DataFrame вместо массива, вы можете использовать следующий код:
uniques = pd.unique(df[['col1', 'col2']]. values.ravel ()) pd.DataFrame(uniques) 0 0 a 1 b 2 c 3 e 4 d 5 f 6 g
Возвращает количество уникальных значений
Если вы просто хотите узнать количество уникальных значений в нескольких столбцах, вы можете использовать следующий код:
uniques = pd.unique(df[['col1', 'col2']]. values.ravel ()) len (uniques) 7
Это говорит нам о том, что в этих двух столбцах есть 7 уникальных значений.
Pandas: как найти уникальные значения в столбце
Самый простой способ получить список уникальных значений в столбце pandas DataFrame — использовать функцию unique() .
В этом руководстве представлено несколько примеров использования этой функции со следующими пандами DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team conference points 0 A East 11 1 A East 8 2 A East 10 3 B West 6 4 B West 6 5 C East 5
Найти уникальные значения в одном столбце
Следующий код показывает, как найти уникальные значения в одном столбце DataFrame:
df.team.unique () array(['A', 'B', 'C'], dtype=object)
Мы видим, что уникальные значения в столбце команды включают «A», «B» и «C».
Найти уникальные значения во всех столбцах
Следующий код показывает, как найти уникальные значения во всех столбцах DataFrame:
for col in df: print(df[col]. unique ()) ['A' 'B' 'C'] ['East' 'West'] [11 8 10 6 5]
Поиск и сортировка уникальных значений в столбце
Следующий код показывает, как найти и отсортировать уникальные значения в одном столбце DataFrame:
#find unique points values points = df.points.unique () #sort values smallest to largest points. sort () #display sorted values points array([ 5, 6, 8, 10, 11])
Найти и подсчитать уникальные значения в столбце
В следующем коде показано, как найти и подсчитать появление уникальных значений в одном столбце DataFrame:
df.team.value_counts () A 3 B 2 C 1 Name: team, dtype: int64
выборка уникальных значений из DataFrame
мне надо сделать новый словарь с уникальными значениями, где ключ будет topic_id , а значение topic . мне нужно написать код на питоне, аналогичный этому:
т.е. нужно получить простой словарь в виде
откуда берётся имеющийся DataFrame:
cnx = mysql.connector.connect(**db) df = pd.read_sql("QUERY STRING", cnx) df2 = pd.read_sql("QUERY STRING", cnx) cnx.close() df = pd.merge(df, df2, how='outer') df = df.sample(frac=1).reset_index(drop=True)
Как вывести библиотекой pandas уникальные значения для каждого столбца в таблице?
У меня есть большой Dataframe более 1000 строк и 300 строк , я хочу чтобы вывело мне информацию в таблице , как мне это сделать ,я столько уже информации перерыл , что не знаю что уже использовать
Я использовал
df.nunique() и pd.Series({c:df[c].unique() for c in df})
Но мне вывело все в списках и не увидеть с какими данными можно работать.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Вывести на индекс первого и последнего минимального значения для каждого столбца
Для матрицы со стороной 10, заполненной числами от 0 до 9 вывести на экран индексы первого и.
Вычесть из каждого столбца матрицы максимальный элемент для каждого столбца, и результат вывести в матрицу
Что нужно добавить , чтобы вычесть из каждого столбца матрицы максимальный элемент для каждого.
Excel найти уникальные значения из первого столбца и фильтровать — не брать пустые значения из 3 столбца
Ребят, помогите осуществить в коде VB в Excel. Сделал в самом доке, а как в коде на VB новичок.
Вывести номер каждого столбца в таблице
Дана таблица 2*10. Вывести номер каждого столбца, квадрат элемента которого меньше второго элемента.