【发布时间】:2019-09-04 23:36:26
【问题描述】:
我有一个如下的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
非常感谢!
【问题讨论】:
标签: python python-3.x pandas function data-science