首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python,熊猫,找到前四大品牌的平均价格,dataframe

python,熊猫,找到前四大品牌的平均价格,dataframe
EN

Stack Overflow用户
提问于 2021-09-22 16:23:42
回答 1查看 196关注 0票数 0

嗨,我需要得到前四大品牌的平均价格,找出前四大品牌的组合数量,只有三大类。前四名并不是谁有更多的钱,也就是谁拥有更多的产品组合。

这是数据文件:

代码语言:javascript
复制
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

这就是我所需要的结果,以四个品牌的平均价格为指标,以两个小数位数为整数。

代码语言:javascript
复制
         phone    headphones   accesory
brand_1  XXXX         XXXX        XXXX
brand_2  XXXX         XXXX        XXXX
brand_3  XXXX         XXXX        XXXX
brand_4  XXXX         XXXX        XXXX

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-22 16:41:00

尝试:

代码语言:javascript
复制
# 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)

指纹:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69287939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档