Pandas Dataframe фильтрует и рассчитывает на результат агрегации - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь отфильтровать и посчитать результат агрегации:

import pandas as pd
df = pd.DataFrame([[2],[3],[2]],columns=['A'])
print(df)

   A 
 0 2 
 1 3 
 2 2

dfCount = df.groupby(['A']).agg({'A':['count']}).reset_index(drop=True) 
print(dfCount)

  count 
A 
2 2 
3 1

result = dfCount.where(dfCount.count == 1).count()

Мне просто нужно количество выражений, которые встречаются только один раз в исходном наборе данных. В этом случае я хочу, чтобы результат был 1.

Но я получаю следующую ошибку:

ValueError: Array conditional must be same shape as self

1 Ответ

0 голосов
/ 25 января 2019

Тогда вы должны использовать value_counts

df.A.value_counts().eq(1).sum()
Out[416]: 1
...