首页 > 解决方案 > 根据另一列值计算数据框列中值的出现百分比

问题描述

我的数据框如下所示:

在此处输入图像描述

我需要计算仍在“运行”(OperatingState 列中的值之一)的“参赛者”(结果列中的值之一)的百分比。

如何在 pandas 中得出这个?

更新:为列添加 dtypes

Startup           object
Product           object
Funding           object
Event             object
Result            object
OperatingState    object
dtype: object

标签: pythonpandasdataframe

解决方案


试试这个:

perc = (((df['Result'] == 'Contestant') & (df['OperatingState'] == 'Operating')).sum() / df.shape[0]) * 100

测试示例:

import pandas as pd

df = pd.DataFrame({'Result': ['Contestant', 's', 'Contestant', 's'], 'OperatingState': ['Operating', 'p', 'Operating', 'Operating']})

perc = (((df['Result'] == 'Contestant') & (df['OperatingState'] == 'Operating')).sum() / df.shape[0]) * 100
print(perc)

输出:

50.0

推荐阅读