以下是一个按年份分组的案例百分比的解决方法的代码示例:
import pandas as pd
# 创建示例数据
data = {'案例编号': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'案例年份': [2017, 2018, 2018, 2019, 2019, 2020, 2020, 2020, 2021, 2021],
'案例结果': ['通过', '不通过', '通过', '通过', '不通过', '通过', '通过', '不通过', '通过', '通过']}
df = pd.DataFrame(data)
# 按年份和结果分组,并计算每个组的案例数
grouped = df.groupby(['案例年份', '案例结果']).size().reset_index(name='案例数')
# 将案例数转换为百分比
grouped['百分比'] = grouped.groupby('案例年份')['案例数'].apply(lambda x: 100 * x / x.sum())
print(grouped)
输出结果:
案例年份 案例结果 案例数 百分比
0 2017 通过 1 100.000000
1 2018 不通过 1 50.000000
2 2018 通过 1 50.000000
3 2019 不通过 1 50.000000
4 2019 通过 1 50.000000
5 2020 不通过 1 33.333333
6 2020 通过 2 66.666667
7 2021 通过 2 100.000000
这段代码首先创建了一个包含案例编号、案例年份和案例结果的示例数据。然后使用groupby
方法按照案例年份和案例结果进行分组,并计算每个组的案例数。接下来,使用groupby
方法和apply
函数将案例数转换为百分比。最后,输出按年份分组的案例百分比的结果。
请注意,这里假设数据集已经被加载到名为df
的Pandas DataFrame中。你可以根据自己的实际情况修改代码来适应你的数据集。