我使用 Pandas 作为数据库替代品,因为我有多个数据库( OracleSQL Server 等),并且我无法将一系列命令与 SQL 等效。
我在 DataFrame 中加载了一个表,其中包含一些列:

YEARMONTH, CLIENTCODE, SIZE, etc., etc.
在 SQL 中,计算每年不同客户端的数量是:
SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;
结果是
201301    5000
201302    13245
我怎么能在 Pandas 中做到这一点?

最佳答案

我相信这就是你想要的:

table.groupby('YEARMONTH').CLIENTCODE.nunique()

例子:
In [2]: table
Out[2]:
   CLIENTCODE  YEARMONTH
0           1     201301
1           1     201301
2           2     201301
3           1     201302
4           2     201302
5           2     201302
6           3     201302

In [3]: table.groupby('YEARMONTH').CLIENTCODE.nunique()
Out[3]:
YEARMONTH
201301       2
201302       3

关于python - Pandas 'count(distinct)' 等效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15411158/

10-12 18:32