Python dataframe中所有列的基数/不同计数
虽然dataframe.descripe()对于某些摘要描述性统计数据(特别是四分位数和范围值)很有用,但它显然没有基数计数选项Python dataframe中所有列的基数/不同计数,python,pandas,Python,Pandas,虽然dataframe.descripe()对于某些摘要描述性统计数据(特别是四分位数和范围值)很有用,但它显然没有基数计数选项 通过提供列列表并将默认值设置为“all”来获得数据帧中的基数计数有哪些选项或方法?您可以对数据帧系列的不同值进行计数。这将为您提供列名和基数。例如,对于数据帧: names = pd.Categorical(['Tomba', 'Monica', 'Monica', 'Nancy', 'Neil', 'Chris']) courses = pd.Categorical
通过提供列列表并将默认值设置为“all”来获得数据帧中的基数计数有哪些选项或方法?您可以对数据帧系列的不同值进行计数。这将为您提供列名和基数。例如,对于数据帧:
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
或者,您可以使用。这里有一个例子
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))
你的意思是,你在做一些类似于<代码> DF的事情。应用(“nIn独有”)< /Cord>?@ jon Currices非常有用-没有考虑<代码>应用< /COD>跨列轴。请回答
df.nunique()
就可以了,是在pd.\uu版本\uuu
0.20.0
@JohnGalt,或者我想甚至可以扩展到:df.agg(['min'、'max'、'sum'、'count'、'nunique'))
等等……是的,这是@JonClements在最初提出问题时提供的答案——但考虑到他拒绝创建答案,你可以得到答案。无论python的禅宗怎么说,拥有更多选项总是好的