计算每个模型 ID 的流失率
Calculating Churn Rate for per model ID
我想把Churn Flag列分成Y和N列来计算每个模型 ID 的 流失率 很容易。共有 365 个唯一模型 ID。所以我只想保留 流失率 大于 80% 的模型,因为手动操作并不容易,所以我想通过程序来完成。但是首先我必须将流失标志划分为 Y 和 N.
数据帧样本:-
编辑:这将使模型的流失率保持 > 80%
import pandas as pd
df = pd.pivot_table(df, index='model id', columns='churn flag', aggfunc='sum', fill_value=0).reset_index()
df.columns=['model id', 'N', 'Y']
df['churn rate'] = df['Y'] / (df['N'] + df['Y'])
df = df[df['churn rate']>0.8]
看看这是否有帮助:
import pandas as pd
df = pd.DataFrame({'Model Id': ['102', '102', '1094', '2017p','225','225','250U','3000'], 'churn flag': ['N','Y','Y','N','N','Y','N','N'], 'count':[10,2,1,12,37,1,60,6]})
dict(iter(df.groupby('churn flag')))
这会给你
{'N': Model Id churn flag count
0 102 N 10
3 2017p N 12
4 225 N 37
6 250U N 60
7 3000 N 6,
'Y': Model Id churn flag count
1 102 Y 2
2 1094 Y 1
5 225 Y 1}
这是您要找的吗?
我想把Churn Flag列分成Y和N列来计算每个模型 ID 的 流失率 很容易。共有 365 个唯一模型 ID。所以我只想保留 流失率 大于 80% 的模型,因为手动操作并不容易,所以我想通过程序来完成。但是首先我必须将流失标志划分为 Y 和 N.
数据帧样本:-
编辑:这将使模型的流失率保持 > 80%
import pandas as pd
df = pd.pivot_table(df, index='model id', columns='churn flag', aggfunc='sum', fill_value=0).reset_index()
df.columns=['model id', 'N', 'Y']
df['churn rate'] = df['Y'] / (df['N'] + df['Y'])
df = df[df['churn rate']>0.8]
看看这是否有帮助:
import pandas as pd
df = pd.DataFrame({'Model Id': ['102', '102', '1094', '2017p','225','225','250U','3000'], 'churn flag': ['N','Y','Y','N','N','Y','N','N'], 'count':[10,2,1,12,37,1,60,6]})
dict(iter(df.groupby('churn flag')))
这会给你
{'N': Model Id churn flag count
0 102 N 10
3 2017p N 12
4 225 N 37
6 250U N 60
7 3000 N 6,
'Y': Model Id churn flag count
1 102 Y 2
2 1094 Y 1
5 225 Y 1}
这是您要找的吗?