首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数数我的多索引长度在一个数据熊猫

数数我的多索引长度在一个数据熊猫
EN

Stack Overflow用户
提问于 2017-08-31 02:38:44
回答 5查看 12K关注 0票数 6

假设我有一个多索引,如何计数索引的记录?更明确地说,我指的是X,Y是我在下面的例子中的多个索引。假设我在这个数据框架中有3个个体。如何找到它们,因为数据的长度给出了总行,这不是我想要的。

代码语言:javascript
复制
          Modules
X     Y   
1    11         A
     11         B
     11         C
2    13         A
     13         B
3    17         A
     17         B
     17         D

如何计算这个多索引的长度?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-08-31 13:36:22

选项1

代码语言:javascript
复制
df.index.to_series().nunique()

3

选项2

代码语言:javascript
复制
df.groupby(df.index.names).ngroups
# df.groupby(level=df.index.names).ngroups
# for pandas < 0.20 or if column name conflict

3
票数 6
EN

Stack Overflow用户

发布于 2018-11-25 18:28:58

那麽:

代码语言:javascript
复制
len(df.groupby(level=0))

其优点是代码更简洁,而且实际上可以指定要在其上执行此操作的多索引df的级别。

票数 5
EN

Stack Overflow用户

发布于 2020-06-13 00:28:41

我认为最易读的(可能也是最快的)计数方法是:

代码语言:javascript
复制
len(df.index.levels[0])

请注意,如果您有一个非唯一的索引,它将计数超过一次每个值。所以你必须使用:

代码语言:javascript
复制
len(df.index.levels[0].unique())
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45972388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档