如何在 Pandas 中获取组统计信息

维克多王 |

为了简化,我有一个看起来像这样的数据集:

在此处输入图片说明

lst = [
       ["2015", "A"], 
       ["2015", "B"], 
       ["2015", "C"],
       ["2016", "A"],
       ["2016", "A"],
       ["2016", "B"],
       ["2016", "D"]

      ] 

df = pd.DataFrame(lst, columns =["Year", "Item"])

我想生成一些如下的统计数据。我如何使用 Pandas 做到这一点?我的实际数据集有数以万计的观察结果和许多不同的项目。

谢谢!

在此处输入图片说明

完美的

考虑与运行直列聚集体transformmerge所有可能的值的数据帧上。最后,用fillna程序清理

from itertools import product
...
years_items_df = pd.DataFrame(product(["2015", "2016"], list("ABCD")), 
                              columns = ["Year", "Item"])

df = (df.assign(Count = lambda x: x.groupby(["Year", "Item"])["Year"].transform("count"),
                AnnualCount = lambda x: x.groupby(["Year"])["Year"].transform("count"))
        .drop_duplicates()
        .merge(years_items_df, on=["Year", "Item"], how="right")
        .sort_values(["Year", "Item"])
        .assign(Count = lambda x: x['Count'].fillna(0),
                AnnualCount = lambda x: x['AnnualCount'].ffill(),
                Percent = lambda x: x["Count"].div(x["AnnualCount"]))
        .reset_index(drop=True)
      )

df
#    Year Item  Count  AnnualCount   Percent
# 0  2015    A    1.0          3.0  0.333333
# 1  2015    B    1.0          3.0  0.333333
# 2  2015    C    1.0          3.0  0.333333
# 3  2015    D    0.0          3.0  0.000000
# 4  2016    A    2.0          4.0  0.500000
# 5  2016    B    1.0          4.0  0.250000
# 6  2016    C    0.0          4.0  0.000000
# 7  2016    D    1.0          4.0  0.250000

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在使用Pandas df.describe()时按行获取摘要统计信息,

如何在 Elasticsearch 中获取每个术语的统计信息

如何在IDA Pro中获取.text段统计信息?

如何在MOEA Framework中获取实时统计信息?

如何在Scala中按数据框获取统计信息?

如何从支付数据中获取统计信息?

如何在保留原始数据帧的同时获取组级统计信息?

如何在ggplot2中按组显示摘要统计信息

使用pandas GroupBy获取每个组的统计信息(例如计数,均值等)?

如何在psd文件中获取图层关系或组信息?

如何通过Bamboo API获取计划中的测试统计信息

如何在python中获取文本文件中的统计信息

如何获取变量统计信息

如何在GUI中获取Hibernate Lucene Index创建的统计信息?

如何在 Cassandra 2.1.6 中获取二级索引的统计信息(例如磁盘大小)?

如何在pandas.dataframe中获取每个组的平均值,例如seaborn.factorplot

Tableau:如何获取仪表盘始终显示最近10天的组统计信息

如何使用带有分组变量的自定义描述函数按组获取统计信息?

如何在Pandas数据框中计算汇总的摘要统计信息

如何在python中获取堡垒统计

如何在pandas中制作一列分类组

如何在Pandas DataFrame中堆叠列组?

仅获取 Pandas 中给定数据的某些列的统计信息

如何从 Pandas 数据框中获取一组值?

如何在Spring Boot中访问JMS统计信息?

如何在张量流中累积摘要统计信息

如何在Grinder中添加自定义统计信息

如何在jmx中显示EhCache的统计信息

如何在SQL Server中复制表的统计信息?