【发布时间】:2014-07-04 17:42:25
【问题描述】:
如何获取 Python 中每个标签最常出现的类别(模式)?
+------------------+----------+
| tag | category |
+------------------+----------+
| automotive | 8 |
| ba | 8 |
| bamboo | 8 |
| bamboo | 8 |
| bamboo | 8 |
| bamboo | 8 |
| bamboo | 8 |
| bamboo | 10 |
| bamboo | 8 |
| bamboo | 9 |
| bamboo | 8 |
| bamboo | 10 |
| bamboo | 8 |
| bamboo | 9 |
| bamboo | 8 |
| banana tree | 8 |
| banana tree | 8 |
| banana tree | 8 |
| banana tree | 8 |
| bath | 9 |
+-----------------------------+
预期的输出会是这样的
tag | category
------------+-----------
ba | 8
automotive | 8
bananatree | 8
bath | 9
bamboo | 8
由于我的数据集的机密性,我从 Stephen J. Fuhry 那里借用了表格,并在 MySQL SELECT most frequent by group 上编辑了 David Fuhry 的输出。
【问题讨论】:
-
你想用 MySQL 做那个吗?
-
如果您可以将该处理推送到 SQL 服务器,我会这样做,而不是将大量数据推送到您需要筛选的程序(不管它是用什么写的)通过。因此,我建议这是一个 MySQL 问题,而不是 Python。
-
你从什么样的对象开始?如果你设置在 sql 上,sqlite3 是一个本机包,可以处理内存中的数据库函数(使用 ':memory:' 表)。
-
@Nick T 我正在使用 Pandas 和 sk learn 对我的数据集进行数据分析。在一天结束时,无论如何,我仍然必须让我的机器将整个数据集加载到我的内存中。
-
@ DrBailey 恐怕这可能行不通,因为我有 CSV 文件开始并由 Pandas 加载到数据框中。