import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({
'Brand': ['A', 'B', 'C', 'A', 'B', 'C'],
'Amount': [100, 200, 150, 300, 250, 200]
})
# 计算每个品牌的占比
df_brand = df.groupby('Brand')['Amount'].sum().reset_index()
display(df_brand)
# 对品牌按照额降序排序df_brand["Amount"]
df_brand["zb"] = df_brand["Amount"]/df_brand["Amount"].sum()
df_brand=df_brand.sort_values(by="zb",ascending=False)
df_brand["zblj"] = df_brand["zb"].cumsum()
display(df_brand)
# 计算累计排序小于等于当前品牌的额占比
df=pd.merge(df,df_brand[["Brand","zb","zblj"]],on="Brand",how="left")
# 输出结果
print(df)
输出结果