求和每个唯一ID的电话呼叫后一次操作发生的次数

问题描述

我试图总结一个电话后试图收取款项的情况。 挂断电话或没有答案= = 0(不付款) 不采取行动不算什么 拨打电话,挂断电话,然后付款将计为(付款)== 1

d={'ID':[1,1,2,3,3],\
   'values':['call','hung up','no answer','non action','call','payment','hang up',] }
df=pd.DataFrame(data=d)
df

这里的总数是 2付款 1不付款

解决方法

如果您计算唯一的“ id”和“支付”频率,有帮助吗!

例如:计数唯一ID = 3,付款频率= 2,现在,(计数唯一ID-付款频率)=不付款。

Total_ID = len(df['ID'].value_counts())
Total_ID

在您的情况下,这将返回3

Payment = df.groupby('values').count()
Payment = Payment.loc['payment']['ID']
Payment

在您的情况下,这将返回2

Non_Payment = Total_ID - Payment
Non_Payment

这将返回1

,

您可以使用交叉表更好地可视化数据:

d={'ID':[1,1,2,3,3],\
   'values':['call','hung up','no answer','non action','call','payment','hang up',] }
df=pd.DataFrame(data=d)
df

df_ct = pd.crosstab(df['ID'],df['values'])
df_ct['payment'].sum() #Number of payments
df_ct['payment'].count()-df_ct['payment'].sum() #Number of non-payments

df_ct的输出:

values  call  hang up  hung up  no answer  non action  payment
ID                                                            
1          1        0        1          1           0        0
2          1        0        0          0           1        1
3          1        1        0          0           0        1

2 # Payments

1 # Non payment

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...