簡體   English   中英

pandas 數據框中所有列的基數/不同計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM