使用 pandas 的每个季节每个集群的总集群百分比
Posted
技术标签:
【中文标题】使用 pandas 的每个季节每个集群的总集群百分比【英文标题】:Percent of total clusters per cluster per season using 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.
。
非常感谢
【问题讨论】:
【参考方案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
【讨论】:
以上是关于使用 pandas 的每个季节每个集群的总集群百分比的主要内容,如果未能解决你的问题,请参考以下文章
cypher query用于计算层次结构中每个组件的总成本百分比
python使用pandas中的groupby函数和agg函数计算每个分组数据的两个分位数(例如百分之10分位数和百分之90分位数)