与posgres sql相同的pandas df.groupby('v1').apply(lambda x:['v2'].nunique())
是什么?
即。给定一个表格,我想知道每个v2
的{{1}}唯一值的数量。
答案 0 :(得分:2)
也许你的意思是
SELECT v1, count(DISTINCT v2)
FROM df
GROUP BY v1;
答案 1 :(得分:0)
SELECT v1, COUNT(v2) FROM t GROUP BY v1;
OR
SELECT v1, COUNT(DISTINCT v2) FROM t GROUP BY v1;
答案 2 :(得分:0)
也请查看他的帖子array_agg。 这对我很有帮助。它会给你一个数组列表。我只是做了类似的事情:
SELECT directory, ARRAY_AGG(file_name)
FROM table
WHERE type = 'ZIP'
GROUP BY directory;
结果是:
parent_directory | array_agg | ------------------------+----------------------------------------+
/home/postgresql/files | {zip_1.zip,zip_2.zip,zip_3.zip} |
/home/postgresql/files2 | {file1.zip,file2.zip} |
这篇文章对我也有很大帮助:"Group By" in SQL and Python Pandas。 它基本上说,仅在可能的情况下使用SQL更为方便,但Python Pandas对于在过滤过程中实现额外的功能很有用。
我希望对您有帮助