【发布时间】:2023-01-26 15:55:53
【问题描述】:
有 pandas DataFrame 为:
print(df)
call_id calling_number call_status
1 123 BUSY
2 456 BUSY
3 789 BUSY
4 123 NO_ANSWERED
5 456 NO_ANSWERED
6 789 NO_ANSWERED
在这种情况下,具有不同 call_status 的记录(比如“ERROR”或其他我无法预测的东西)值可能会出现在数据框中。我需要添加一个新列在飞行中对于这样的价值。 我应用了 pivot_table() 函数,得到了我想要的结果:
df1 = df.pivot_table(df,index='calling_number',columns='status_code', aggfunc = 'count').fillna(0).astype('int64')
calling_number ANSWERED BUSY NO_ANSWER
123 0 1 1
456 0 1 1
789 0 1 1
现在我需要再添加一列,其中包含给定 calling_number 的已接电话的百分比,计算为已接电话与总数的比率。 源数据框 'df' 可能不包含 call_status = 'ANSWERED' 的条目,因此在这种情况下,百分比列自然应该具有零值。
预期结果是:
calling_number ANSWERED BUSY NO_ANSWER ANS_PERC(%)
123 0 1 1 0
456 0 1 1 0
789 0 1 1 0
【问题讨论】: