Подсчет дубликатов в строках на столбец в панде DataFrame - PullRequest
0 голосов
/ 18 октября 2018

У меня очень длинная таблица, как показано ниже:

    A    B    C    D    .......
0   au   br   gt   uy
1   cd   gq   gt   uy
2   fg   br   gt   ml
3   kl   br   gt   wx

..............

Я хотел бы посчитать и напечатать дубликатыдля каждого столбца, например:

A   0    
B   2     
C   3     
D   1    

Я нашел только для подсчета дубликатов для одного столбца:

df.duplicated(['B']).sum()

Нужно ли писать все столбцы (около 30) или можно использоватьчто-то из панд?Я пробовал это, но это не работает:

df.duplicated(df.loc[:,:]).sum()

1 Ответ

0 голосов
/ 18 октября 2018

Вычтите длину DataFrame с помощью nunique:

df = len(df) - df.nunique()
print (df)
A    0
B    2
C    3
D    1
dtype: int64

Или используйте apply с duplicated для получениялогическая маска для каждого столбца отдельно и sum для подсчета значений True:

df = df.apply(lambda x: x.duplicated()).sum()
print (df)
A    0
B    2
C    3
D    1
dtype: int64
...