我有一个如下的df:
我正在使用如下简单代码:过滤df中的列,然后根据列的值计算简单的数学,因此如果列值被取消,则处理并完成;我想计算整个 df 或所有行的取消的百分比或行数。
df 看起来像:
ID | Status | Color
555 Cancelled Green
434 Processed Red
212 Cancelled Blue
121 Cancelled Green
242 Cancelled Blue
352 Processed Green
343 Processed Blue
我目前使用的代码是:
df[df['Color'] == 'Green']
df[(df['Status']=='Cancelled') & (df['Color']=='Green')]
对于每种不同类型的颜色的含义,我首先手动过滤 df 以获得行数,然后在下面对其进行双重过滤以获得取消的行数或订单数,然后手动除以 # 但他 # 只是绿色行。
如果我想创建一个函数,我可以在其中插入颜色名称和状态,并在一个简单的函数中以这种方式进行数学运算,那么最好的方法是什么?
预期输出将类似于:
Status Green
Cancelled 0.666667
Processed 0.333333
dtype: float64
Smart猫小萌
相关分类