python - 如何获得负数百分比的计数并按最大负数排序?

标签 python python-3.x pandas pandas-groupby

我想出了一种方法来进行分组并根据两个字段获取计数:

df.groupby(['brand','result']).size()
df.groupby(['brand','result']).count()

这会产生相同的结果。我的数据现在看起来像这样。

Johnson's Baby Powder   negative         21  
                        neutral          5  
                        positive         121

Estee Lauder            negative         7  
                        positive         23

Calvin Klein            negative         10  
                        neutral          3  
                        positive         29 

我想获得每个品牌的结果百分比,如下所示。

Johnson's Baby Powder   negative    21  0.142857143
                        neutral     5   0.034013605
                        positive    121 0.823129252

Estee Lauder            negative    7   0.233333333
                        positive    23  0.766666667

Calvin Klein            negative    10  0.238095238
                        neutral     3   0.071428571
                        positive    29  0.69047619

但最终,我只想显示“结果”负面> 20% 的“品牌”。

所以,我想看看这个(以及其他符合业务逻辑规则的品牌)。

Estee Lauder            negative    7   0.233333333
                        positive    23  0.766666667

我怎样才能做到这一点?

最佳答案

尝试

x = df.groupby(['brand'])['result'].value_counts(normalize=True)

数据输出示例

>>> y = x.loc[(x.index.get_level_values(1) == 'negative')]

>>> y[y>0.2]
airline         airline_sentiment
American        negative             0.710402
Delta           negative             0.429793
Southwest       negative             0.490083
US Airways      negative             0.776862
United          negative             0.688906
Virgin America  negative             0.359127
Name: airline_sentiment, dtype: float64

>>> y[y>0.2].index.get_level_values(0)
Index(['American', 'Delta', 'Southwest', 'US Airways', 'United',
       'Virgin America'],
      dtype='object', name='airline')

关于python - 如何获得负数百分比的计数并按最大负数排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60162102/

相关文章:

python - 如何使用 Python OpenCV 查找表格图像中的行数和列数?

python - 在Django中注释多对多关系

python - Tkinter 框架调整一轴大小

python - 从 hdf 文件中获取列名(标题)

python - Alpha Vantage "KeyError: ' 时间序列(每日 )'"

python - 用 asyncio 听按键

python - 为什么 UnboundLocalError 发生在平面理解的第二个变量上?

xml - 在浏览器外部以编程方式应用 XSL 转换

python - 过滤过去 x 天的 pandas 数据框

python - 如何过滤掉数据框中值以某个单词开头的行