2016-04-07 36 views
1

Bir pandas veri çerçevesinin her sütununda oluşan benzersiz değerlerin sayısını nasıl sayabilirim? Python Pandalar: Tüm Sütunlar Üzerindeki Benzersiz Değerlerin Sıklığını Sayma

Bunun df adlı bir veri çerçevesi şöyle olduğunu varsayalım: Ben dört sütun içinde benzersiz değerler sıklığını göstermektedir çıkışını almak isteyen am

1 2 3 4  
a yes f c 
b no f e 
c yes d h 

. Her sütun içinde orada sadece kaç,

Column # of Unique Values 
1   3 
2   2 
3   2 
4   3 

Ben benzersiz değerler ne olduğunu bilmek gerekmez: Çıktı buna benzer bir şey olurdu.

böyle bir şey etrafında oynamıştır:

df[all_cols].value_counts() 

[all_cols]

veri çerçevesi içindeki tüm sütunların bir listesidir. Ancak bu, değerin sütunun içinde kaç kez göründüğünü sayar.

Herhangi bir öneri/öneri size çok yardımcı olacaktır. Teşekkür

cevap

2

Yapabilirsin applySeries.nunique:

>>> df.apply(pd.Series.nunique) 
1 3 
2 2 
3 2 
4 3 
dtype: int64 

Yoksa çerçevenin istiflenmemiş versiyonundaki bir groupby/nunique yapabilirdi:

>>> df.unstack().groupby(level=0).nunique() 
1 3 
2 2 
3 2 
4 3 
dtype: int64 

Bunların her ikisi bir Serisi, daha sonra kullanabilirsiniz üretmek İstediğiniz sütun isimlerini içeren bir çerçeve oluşturmak için.

+0

Bu kadar çok teşekkür ederim, tam da aradığım şey buydu. Yardımı takdir ediyorum! – da4l

+0

@ da4l Teşekkür etme, sadece notu kabul et ve düğmeleri kabul et – Private

İlgili konular