首页 > 解决方案 > 如何计算有条件的行

问题描述

我如何计算每个类别中有多少与标签相比?

      Credit  Term      Y
0  Excellent     3   safe
1       fair     5  risky
2       poor     3  risky
3       fair     5  risky
4  Excellent     5   safe
5       poor     3  risky
6  Excellent     5   safe
7       poor     3  risky
8       fair     3   safe
9       fair     5   safe

这是我的数据,我想计算有多少安全优秀的穷人和公平,以及有多少风险优秀的穷人和公平,如优秀 3 安全 0 风险等等,我计算:

data[(data['Credit']=='Excellent')&(data['Y']=='safe')].count()
data[(data['Credit']=='Excellent')&(data['Y']=='risky')].count()

或者

elements,counts = np.unique(data['Credit'],return_counts = True)

我怎么能做一张像

               safe    risky
excellent      3        0
poor           0        3
fair           2        2

标签: pythonpandasnumpy

解决方案


使用熊猫groupby()unstack()

data.groupby(['Credit', 'Y']).count().unstack()

推荐阅读