python,pandas,查找前四大品牌的平均价格,dataframe

2024-10-02 12:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我需要得到前四个品牌的平均价格,通过类别的组合数找到前四个品牌,只有三个类别。前四名不是谁有更多的钱,而是谁有更多的产品

这是数据帧:

brand     price   category
Apple     499.0    phone
Huawei    200.0    phone
Apple     150.0    headphones
Samsung   800.0    phone
Apple     55.0     accesory
xiomi     25.0     accesory
Huawei    140.0    headphones

这是我需要的结果,以品牌作为指数,四个品牌的平均价格,价格四舍五入为2位小数

         phone    headphones   accesory
brand_1  XXXX         XXXX        XXXX
brand_2  XXXX         XXXX        XXXX
brand_3  XXXX         XXXX        XXXX
brand_4  XXXX         XXXX        XXXX

我是初学者,所以我没有太多的经验,我希望你能帮助我,谢谢


Tags: 数据apple产品phone类别price品牌category
1条回答
网友
1楼 · 发布于 2024-10-02 12:28:15

尝试:

# get top 4 brands by size:
top_4 = df.groupby("brand").size().nlargest(4)

# pivot the table, format it and get top_4 brands:
df_out = (
    df.pivot_table(
        index="brand",
        columns="category",
        values="price",
        aggfunc="mean",
        fill_value=0,
    )
    .apply(lambda x: ["{:.2f}".format(v) for v in x])
    .loc[top_4.index]
)
print(df_out)

印刷品:

category accesory headphones   phone
brand                               
Apple       55.00     150.00  499.00
Huawei       0.00     140.00  200.00
Samsung      0.00       0.00  800.00
xiomi       25.00       0.00    0.00

相关问题 更多 >

    热门问题