根据标准过滤多索引df

时间:2019-04-16 09:53:13

标签: python pandas multi-index

df.groupby(['name','cat'])['valtocount'].agg('count')
通过上面的

我得到了以下multindex df:

name cat count
abc  a   1
     b   1
def  a   1
     c   2

我只想保留计数标准为> 0的名称 你们有什么建议吗?

1 个答案:

答案 0 :(得分:1)

GroupBy.transformIn [2]: x Out[2]: 0 0 1 1 2 4 3 9 SeriesGroupBy.nunique一起使用,并按boolean indexing进行过滤:

std

s = df.groupby(['name','cat'])['valtocount'].agg('count')
s1 = s[s.groupby(level=0).transform('std') > 0]
print (s1)
name  cat
def   a      1
      c      2
Name: valtocount, dtype: int64