python - 根据另一列值计算数据框列中值的出现百分比
问题描述
我的数据框如下所示:
我需要计算仍在“运行”(OperatingState 列中的值之一)的“参赛者”(结果列中的值之一)的百分比。
如何在 pandas 中得出这个?
更新:为列添加 dtypes
Startup object
Product object
Funding object
Event object
Result object
OperatingState object
dtype: object
解决方案
试试这个:
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
推荐阅读
- docker - 如何在 nginx 容器(nginx/1.17.8)中安装“geopip2”模块?
- c# - ASP.NET MVC 中控制器中的管理员权限
- python - Python初学者任务
- reactjs - 在循环内更新状态的最佳方法是什么
- reactjs - 无法让 redux-form formValueSelector 正常工作
- ssl - 检查 SSL 连接显示已连接但显示错误
- css - CSS flex:奇怪的行为
- c++ - 使用输入文件进行 C++ lldb 调试
- spring-boot - 部署由spring-boot和angular在线制作的网络应用程序的最佳和最便宜的方法是什么?
- postgresql - 将查询结果表中的计数转换为总数的百分比