Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分析标记集的最佳方法?_Python_Sql_Excel_Ms Access - Fatal编程技术网

Python 分析标记集的最佳方法?

Python 分析标记集的最佳方法?,python,sql,excel,ms-access,Python,Sql,Excel,Ms Access,我有成千上万的调查回复,这些回复已经根据回复的内容进行了标记。每个响应可以有一个或多个标记(最多20个),并且标记彼此独立,而不是被构造为类别子类别或其他内容 我希望能够进行如下分析: 给定标记有多少个实例 总的来说,哪些标记出现得最频繁 在存在标记X的位置,哪些其他标记最常与其一起出现 所有标记的列表及其旁边的每个标记的计数 选择要进行类似分析的数据子集(例如,按国家) 与我共事的人传统上都是用Excel(一般业务战略咨询工作)处理所有问题,但在这种情况下,这是行不通的。他们的回应是将项目

我有成千上万的调查回复,这些回复已经根据回复的内容进行了标记。每个响应可以有一个或多个标记(最多20个),并且标记彼此独立,而不是被构造为类别子类别或其他内容

我希望能够进行如下分析:

  • 给定标记有多少个实例
  • 总的来说,哪些标记出现得最频繁
  • 在存在标记X的位置,哪些其他标记最常与其一起出现
  • 所有标记的列表及其旁边的每个标记的计数
  • 选择要进行类似分析的数据子集(例如,按国家)
与我共事的人传统上都是用Excel(一般业务战略咨询工作)处理所有问题,但在这种情况下,这是行不通的。他们的回应是将项目框架更改为Excel可以在数据透视表中处理的内容,但如果我们能够使用更强大的工具来实现更复杂的关系,那就更好了

我一直在学习SQLite,但我开始担心我想做的事情会非常复杂

我也一直在学习Python(出于不相关的原因),我想知道ORM工具和一些Python代码是否是更好的方法

然后还有一些类似于访问的东西(我没有,但如果这是一个适合这种事情的最佳地点,我可能会愿意获得)


总之,我很想知道这些类型的分析在总体上有多困难,哪些工具最适合这项工作。我完全接受这样一种观点,即我正在以一种倒退的方式思考部分或全部问题,并欢迎就我在这里所写内容的任何方面提供任何建议。

将所有标记收集到一个列表中,并使用python collections.Counter和相关方法获取频率和大量其他统计信息。就这样

>>> from collections import Counter
>>> x=['java', 'python', 'scheme', 'scheme', 'scheme', 'python', 'go', 'go', 'c',
... 'c']
>>> freqs = Counter(x)
>>> freqs.most_common(1)
[('scheme', 3)]
>>> 

虽然有关单个标记频率的数据应该非常容易构建,但有关标记之间关系的数据非常困难,属于数据挖掘领域。假设您有一个响应表、一个标记表和一个response_标记表,我将在一个非常高的级别上执行以下操作

创建一个汇总表,列出响应标记的每个唯一组合,以及一列,该列将指示此组合出现的次数。表结构应该类似于
composition(id,count)
composition\u标记(composition\u id,tag\u id)
。使用过程语句(ORM或SQL游标)填充表,然后使用特殊查询对数据进行采样


这不是一个简单的操作,但它将使用一个简单的RDBMS获得结果,而不必使用企业级数据挖掘解决方案。

您的数据集非常小,因此您实际上不需要任何类型的ORM,只需在Python中加载所有数据并仔细阅读报告即可


SQL作为一种语言,对于更复杂的数据分析来说是可怕的(例如,您真的想在哪里交叉列表等)。

使用SQL!它对于数据分析非常强大。它将允许您在将来询问有关数据的问题。你还没有想到的问题

虽然SQL作为一种语言似乎有点麻烦,但它比“真正的”编程语言更容易使用。在您的例子中,SQL与Excel接口,因此用户可以通过他们熟悉的工具访问数据

如果您使用SQL,那么真实数据库(SQLLite)是比MSAccess更好的解决方案


我对SQL作为一种分析工具的感觉很强烈,因此我写了一本关于“使用SQL和Excel进行数据分析”的书。你可以查看亚马逊的评论(http://www.amazon.com/Data-Analysis-Using-SQL-Excel/dp/0470099518/ref=pd_sim_b_1)了解它的有效性。

理想情况下,至少应定期进行分析。