2017-01-15 6 views
3

У меня есть dataframe, и я смотрю на одну колонку в dataframe обзывалиЧисло уникальных значений в панд колонке

array(['Katherine', 'Robert', 'Anne', nan, 'Susan', 'other'], dtype=object) 

Я пытаюсь сделать звонок, чтобы сказать мне, сколько раз каждый из них уникален имена отображаются в столбце, например, если есть 223 экземпляра Katherine и т. д. Как это сделать? я знаю value_counts просто показывает 1 для каждого из них, потому что они являются отдельными уникальными значениями

+1

'value_counts' - это то, что вы хотите. Если есть несколько случаев, они должны показать их. Если вы считаете, что это не так, пожалуйста, покажите полный пример, демонстрирующий проблему. Обратите внимание, что вам нужно использовать '.value_counts()' в вашем фактическом столбце, а не в списке уникальных значений. – BrenBarn

+0

@BrenBarn должен быть обманом для этого вопроса, его задавали так много раз, все еще ищут – EdChum

ответ

5

Если я вас правильно понимаю, вы можете использовать pandas.Series.value_counts.

Пример:

import pandas as pd 
import numpy as np 

s = pd.Series(['Katherine', 'Robert', 'Anne', np.nan, 'Susan', 'other']) 

s.value_counts() 

Katherine 1 
Robert  1 
other  1 
Anne   1 
Susan  1 
dtype: int64 

Данные, предоставленном только один из каждого имени - так вот пример с несколькими записями «Кэтрин»:

s = pd.Series(['Katherine','Katherine','Katherine','Katherine', 'Robert', 'Anne', np.nan, 'Susan', 'other']) 

s.value_counts() 

Katherine 4 
Robert  1 
other  1 
Anne   1 
Susan  1 
dtype: int64 

При нанесении на ваш Dataframe, вы назовете это следующим образом:

df['names'].value_counts() 
+0

dropna = "False" – user2921352

0

Вы можете использовать группу, чтобы добиться того, что:

df[['col1']].groupby(['col1']).agg(['count']) 
+0

Я не думаю, что это сработает. 'df [['col1']]' вернет один столбец DataFrame. Если вы группируете DataFrame в этом столбце, 'agg' не сможет найти какие-либо другие столбцы для агрегирования. Вы можете использовать '.size()' вместо 'agg ('count')', но я бы пошел с 'value_counts'. – ayhan

Смежные вопросы