【问题标题】:Percent of total clusters per cluster per season using pandas使用 pandas 的每个季节每个集群的总集群百分比
【发布时间】:2022-01-24 05:14:29
【问题描述】:

我有一个看起来像 this 的 pandas DataFrame,总共有 12 个集群。某些集群不会在某个季节出现。

我想创建一个多线图,显示每个季节特定集群的百分比。因此,如果 97-98 赛季有 30 支球队,并且集群 1 中有 10 支球队,那么该值将是 0.33,因为集群 1 占据了所有可能位置的三分之一。

看起来像this

我希望日期集看起来像 this,其中每个集群都有自己的百分比,按百分比计算该季节的集群总数。我尝试使用 pandas groupby 方法获取一堆列表,然后对其使用 value_counts() 但这不起作用,因为循环遍历 df.groupby(['SEASON']) returns tuples, not a Series.

非常感谢

【问题讨论】:

    标签: python pandas dataframe data-visualization series


    【解决方案1】:

    .groupby.value_counts.unstack结合使用:

    temp_df = df.groupby(['SEASON'])['Cluster'].value_counts(normalize=True).unstack().fillna(0.0)
    temp_df.plot()
    print(temp_df.round(2))
    
    Cluster   0     1     2     4     5    6     7     10    11
    SEASON                                                     
    1996-97  0.1  0.21  0.17  0.21  0.07  0.1  0.03  0.07  0.03
    1997-98  0.2  0.00  0.20  0.20  0.00  0.0  0.20  0.20  0.00
    

    【讨论】:

      猜你喜欢
      • 2020-10-28
      • 2017-07-28
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      相关资源
      最近更新 更多