首页 > 解决方案 > 从 pandas 数据框中获取统计信息:按日期划分的唯一字段

问题描述

我想计算一个数据集中有多少个经过验证的网址。

       Date                   Urls  Verified
 12/03/2020  www.stackoverflow.com      True
 12/03/2020         www.google.com      True
 12/03/2020        www.youtube.com      True
 12/03/2020         www.bients.com     False
 13/03/2020         www.google.com      True
 13/03/2020         www.amazon.com      True
 14/03/2020         www.bients.com     False
 14/03/2020   www.Breaking-CNN.com     False

等等。

我想得到:

但是,我需要从计数中删除重复项。我的预期输出是:

12/03/2020 Verified: 3
           Not Verified: 1
13/03/2020 Verified: 2
           Not Verified: 0
14/03/2020 Verified: 0
           Not Verified: 2

已验证总数:4(我应该避免重复,例如 www.google.com 或 www.bients.com)未验证总数:2

我怎么能得到这些结果?我认为使用 unique 和 groupby 但我不明白顺序。

标签: pythonpandas

解决方案


我们可以做drop_duplicatesgroupby+value_counts

s=df.drop_duplicates().groupby('Date').Verified.value_counts().unstack(fill_value=0).stack()
Date        Verified
12/03/2020  False       1
            True        3
13/03/2020  False       0
            True        2
14/03/2020  False       2
            True        0
dtype: int64

推荐阅读