首页 >后端开发 >Python教程 >如何按组计算 Pandas 中的不同值?

如何按组计算 Pandas 中的不同值?

Linda Hamilton
Linda Hamilton原创
2024-10-23 13:23:01689浏览

How to Count Distinct Values by Group in Pandas?

Pandas 等效项:按组进行不同计数

当使用 Pandas 作为数据库替代方案时,通常需要执行复杂的操作,例如按组进行不同计数团体。在本例中,我们想要计算每年每月的不同客户端数量。

在 SQL 中,这可以使用 count(distinct) 聚合函数来实现。然而,Pandas 为此操作提供了稍微不同的语法。

要计算 Pandas 中每年每月的不同客户端,我们可以使用以下代码:

<code class="python">table.groupby('YEARMONTH').CLIENTCODE.nunique()</code>

groupby() 函数根据指定列(本例中为 YEARMONTH)将 DataFrame 分成组。然后,nunique() 函数计算每个组中唯一值的数量。

这里有一个示例来说明:

<code class="python">import pandas as pd

# Create a DataFrame with sample data
data = {
    'YEARMONTH': ['201301', '201301', '201301', '201302', '201302', '201302', '201302'],
    'CLIENTCODE': [1, 1, 2, 1, 2, 2, 3]
}
table = pd.DataFrame(data)

# Count distinct clients per year month
result = table.groupby('YEARMONTH').CLIENTCODE.nunique()

print(result)</code>

输出:

YEARMONTH
201301    2
201302    3

正如您所见可以看到,结果与 SQL 查询的预期输出相匹配。

以上是如何按组计算 Pandas 中的不同值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn