【问题标题】:What is the equivalent of Python Pandas value_counts in SQL?SQL 中 Python Pandas value_counts 的等价物是什么?
【发布时间】:2018-08-22 10:51:39
【问题描述】:

在SQL之前学过python和pandas,所以这个问题有点基础。

例如,我有一个 type 列,其值为 1、2、3。

然后当我执行 df['type'].value_counts 时,我可以得到type 的统计信息,可能类似于

1: 1000 rows
2: 220 rows
3: 100 rows

我想知道SQL中的等价物是什么?我认为应该是关于 group_by 和 count 的东西?

【问题讨论】:

    标签: python sql pandas


    【解决方案1】:

    如果您想知道每个值在一列中出现的次数,请使用:

    SELECT type, count(*)
    FROM table
    GROUP BY type
    

    【讨论】:

    • 如何规范化?例如获取百分比值。我们需要子查询吗?
    • 我是这样解决的:SELECT status, 100*CAST(COUNT(*) AS FLOAT) / (SELECT COUNT(*) FROM emails) FROM emails GROUP BY status
    【解决方案2】:
    SELECT type, count(1) as num_types
    FROM table
    GROUP BY type
    

    将返回等效的行数。

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 2014-04-02
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2022-11-06
      • 2013-10-18
      • 1970-01-01
      • 2011-09-03
      相关资源
      最近更新 更多