2017-08-30 52 views
0

儘管dataframe.describe()對於某些摘要描述性統計數據有用 - 特別是四分位數和範圍值 - 它顯然沒有基數計數選項?大熊貓數據框中所有列的基數/不同計數

有什麼選擇 - 或者方法 - 用於獲取數據框中的基數 - 可能是通過提供一列列和默認爲「全部」?

+0

你的意思是你是在類似於'df.apply('nunique')''? –

+0

@JonClements這是非常有用的 - 沒有考慮橫跨列軸的「apply」。請作出回答 – javadba

+0

'df.nunique()'只會這樣做,被添加到'pd .__ version__'' 0.20.0' – Zero

回答

2

您可以計算數據幀系列的不同值。這會給你列名和基數。例如,對於數據幀:

names = pd.Categorical(['Tomba', 'Monica', 'Monica', 'Nancy', 'Neil', 'Chris']) 
courses = pd.Categorical(['Physics', 'Geometry', 'Physics', 'Biology', 'Algebra', 'Algebra']) 

df = pd.DataFrame({ 
    'Name' : names, 
    'Course': courses 
}) 


Out[72]: df 
    Course Name 
0 Physics Tomba 
1 Geometry Monica 
2 Physics Monica 
3 Biology Nancy 
4 Algebra Neil 
5 Algebra Chris 

df.apply(pd.Series.nunique) 

Course 4 
Name  5 
dtype: int64 
+0

是@JonClements在問題最初提出時提供的答案 - 但考慮到他拒絕創建答案,您可以點。 – javadba