【问题标题】:Pandas - Sum occurrences of string in a DataFrame [duplicate]Pandas - DataFrame中字符串的总和[重复]
【发布时间】:2021-11-28 06:11:15
【问题描述】:

假设我有一个 DataFrame:

David Maxime
0 cat duck
1 dog cat
2 horse duck
3 cat dog

如何得到以下结果?

Animals Total
cat 3
duck 2
dog 2
horse 1

我发现了很多代码,但不是针对根据唯一列中数据出现次数返回结果的情况。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    你可以使用

    pd.concat([df.David.value_counts(), df.Maxine.value_counts()], axis=1).fillna(0).sum(axis=1)
    

    这将创建一个数据框,其中包含沿每列计数的值,然后对行求和。

    【讨论】:

      【解决方案2】:

      一种选择是融化数据框,并使用 value_counts:

      (df.melt(value_name = 'Animal')
         .value_counts(subset='Animal')
         .reset_index(name='Total')
      )
        Animal  Total
      0    cat      3
      1    dog      2
      2   duck      2
      3  horse      1
      
      

      【讨论】:

        猜你喜欢
        • 2019-05-05
        • 2021-11-19
        • 2020-04-20
        • 2020-12-23
        • 1970-01-01
        • 2019-10-06
        • 2020-10-11
        • 2021-07-17
        • 2021-12-28
        相关资源
        最近更新 更多