python-Pandas GroupBy-仅显示具有多个唯一特征值的组
作者:互联网
我有一个看起来像这样的DataFrame df_things,我想在训练之前预测分类的质量
A B C CLASS
-----------------------
al1 bal1 cal1 Ship
al1 bal1 cal1 Ship
al1 bal2 cal2 Ship
al2 bal2 cal2 Cow
al3 bal3 cal3 Car
al1 bal2 cal3 Car
al3 bal3 cal3 Car
我想按类对行进行分组,以便我对功能的分布有所了解.我这样做(例如,在“ B”栏上),
df_B = df_things.groupby('CLASS').B.value_counts()
这给了我结果
CLASS B
-------------
ship bal1 2
bal2 1
cow bal2 2
car bal2 1
bal3 2
我想要的是仅可视化具有多个值的组,以使它看起来像这样:
CLASS B
-------------
ship bal1 2
bal2 1
car bal2 1
bal3 2
我有点卡住,有什么想法吗?
解决方法:
您可以使用groupby过滤不唯一计数大于1的组.
v = df_things.groupby('CLASS').B.value_counts()
v[v.groupby(level=0).transform('nunique').gt(1)]
CLASS B
Car bal3 2
bal2 1
Ship bal1 2
bal2 1
Name: B, dtype: int64
标签:pandas-groupby,pandas,unique,compare,python 来源: https://codeday.me/bug/20191024/1923711.html