【问题标题】:Eliminating rows and plotting a "customer country count in percentage" (Pandas, matplotlib)消除行并绘制“客户国家/地区计数百分比”(Pandas,matplotlib)
【发布时间】:2022-11-19 22:45:01
【问题描述】:

如果这是数据框

VisitorID   visitNumber   Country
   1            1          USA
   2            1          UK
   3            1          CANADA
   3            2          CANADA
   4            1          MEXICO

我想用 matplotlib 绘制一个关于每个国家/地区的访客的饼图(因此每个国家/地区为 33%),所以我不想计算加拿大两次(因为它具有相同的访客 ID)

我一直在寻找几个小时,但找不到解决方案。

我试过了:

df2 = df.groupby('VisitorID').agg({'visitNumber': 'max'}).reset_index()

但正在删除其他列,我什至看不到形状了 如果我尝试运行:

df2.shape()

输出是:

TypeError: 'tuple' object is not callable

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    您也可以为 Country 指定聚合函数:

    df2 = df.groupby('VisitorID').agg({'visitNumber': 'max', 'Country': 'first'}).reset_index()
    

    另外 shape 是一个属性,而不是一个方法。所以去掉括号:

    df2.shape
    

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多