根据 std 过滤多索引 df

df.groupby(['name','cat'])['valtocount'].agg('count')

通过上面我得到以下multindex df:


name cat count

abc  a   1

     b   1

def  a   1

     c   2

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


隔江千里
浏览 104回答 1
1回答

蝴蝶刀刀

GroupBy.transform与stdor 一起使用SeriesGroupBy.nunique和过滤boolean indexing:s = df.groupby(['name','cat'])['valtocount'].agg('count')s1 = s[s.groupby(level=0).transform('std') > 0]print (s1)name  catdef   a      1      c      2Name: valtocount, dtype: int64s1 = s[s.groupby(level=0).transform('nunique') != 1]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python