size计数时包含NaN值,而count不包含NaN值
总结: count() 计算的是 value(数值); size() 计算的是 size(个数)。
Name | Age | Nation |
---|---|---|
jack | 21 | USA |
rose | 23 | British |
paul | 24 | USA |
df_count = df_try.groupby(by='Nation').count().reset_index()
df_count
Nation | Name | Age |
---|---|---|
UK | 1 | 1 |
USA | 2 | 2 |
我们可以发现,count()计数的是值,值的个数。
在这个例子中,counts是一个DataFrame,其中每一行对应于一个不同的"Nation",每一列(在这个例子中有"Age", “Nation”)表示该"Category"在数据集中的出现次数,它是有列名的,使用count时必须有列存在,如: Name、Age,否则无法统计
。
如果你想获取每个组的总行数,而不是每列的行数,你可以这样做:
df_age = df.groupby(by='Nation').size().reset_index()
df_age
Nation | 0 |
---|---|
UK | 1 |
USA | 2 |
我们可以发现,size()计数的是记录的条数,即每个nation对应有多少条。它是没有列名的。