2017-08-24 49 views

回答

1

你可以试试:

sum(df.index == 17) 

df.index == 17当指数值否则匹配False返回与boolean的阵列True。而 使用sum函数True相当于1

+0

我得到的结果像[1 1 1 ...,0 0 0]。我只是想知道在使用'df.index == 17'时你有多少次17出现在索引 – abutremutante

+0

@abutremutante中,你有'[1 1 1,...,0 0 0]'?它是否适用于提供的示例示例? – 0p3n5ourcE

+1

你是对的,它的确如此。因为我的DF很大,我试图在这里简化,但显然不是最好的方法。无论如何,我解决了一个不是pythonic的方式:a = 0,因为我在df.index:if i == 17:a + = 1 – abutremutante

1

可以GROUPBY水平

df.groupby(level=0).count() 

或者reset_index()

df.reset_index().groupby('id').count() 
+0

但我该如何访问17? df.groupby(级别= 0).Count之间()。LOC [17]? – abutremutante

+1

@abutremutante'df [df.index == 17]' – Wen