[英]Cardinality / distinct count for all columns in pandas dataframe
雖然 dataframe.describe() 對一些摘要描述統計很有用 - 特別是四分位數和范圍值 - 它顯然沒有基數計數選項?
有哪些選項 - 或者替代方法- 用於獲取數據框中的基數計數 - 可能通過提供列列表並默認為“全部”?
您可以計算數據幀系列的不同值。 這將為您提供列名和基數。 例如對於數據框:
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
或者,您可以使用value_counts 。 這是一個例子。
import pandas as pd
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})
for col in df:
cardinality = len(pd.Index(df[col]).value_counts())
print(df[col].name + ": " + str(cardinality))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.