Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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_R_Algorithm_Data Modeling - Fatal编程技术网

Python 为快照数据推荐数据结构

Python 为快照数据推荐数据结构,python,r,algorithm,data-modeling,Python,R,Algorithm,Data Modeling,我已分隔日志文件,这些文件每5分钟捕获一次某些进程的快照。我想对它们进行一些统计分析,对数据的子集进行分组并绘制图表,等等。其中的一部分包括计算流程打开的时间(即总分钟数=快照在x5中的显示方式)。我可以使用Python、R或我选择的任何语言 挑战在于没有一个字段是唯一的(存在一对多和多对多关系),因此唯一的匹配是当整行上的每个元素都相同时。 也许举个例子会有所帮助。假设第一个快照日志如下所示: R123,M,5,... <-- line A R190,Z,4,... R663,M,8,.

我已分隔日志文件,这些文件每5分钟捕获一次某些进程的快照。我想对它们进行一些统计分析,对数据的子集进行分组并绘制图表,等等。其中的一部分包括计算流程打开的时间(即总分钟数=快照在x5中的显示方式)。我可以使用Python、R或我选择的任何语言

挑战在于没有一个字段是唯一的(存在一对多和多对多关系),因此唯一的匹配是当整行上的每个元素都相同时。

也许举个例子会有所帮助。假设第一个快照日志如下所示:

R123,M,5,... <-- line A
R190,Z,4,...
R663,M,8,...
R123,M,5 第一个问题——当然,至少在Perl中,您可以使用任何字符串作为哈希键。没有限制

下一步:按顺序评估快照。在快照1中,只需将所有内容读入内存,并为每个项目分配一个计数器0。转至快照2。在快照N处,按如下步骤进行:任何新的内容都存储在内存中,并分配了一个0计数。任何已经在内存中的内容都会通过增加的计数器保存在内存中。内存中但不在当前快照中的任何内容都将归档到输出文件

如果您担心日志文件的大小,请不要使用Perl的哈希,而是使用SQL数据库,例如通过DBI的SQLite。

第一个问题--当然,至少在Perl中,您可以使用任何字符串作为哈希键。没有限制

下一步:按顺序评估快照。在快照1中,只需将所有内容读入内存,并为每个项目分配一个计数器0。转至快照2。在快照N处,按如下步骤进行:任何新的内容都存储在内存中,并分配了一个0计数。任何已经在内存中的内容都会通过增加的计数器保存在内存中。内存中但不在当前快照中的任何内容都将归档到输出文件


如果您担心日志文件的大小,请使用SQL数据库(例如通过DBI的SQLite),而不是Perl的哈希。

为什么不拉出重复的行?有一个
duplicated
函数有一个dataframe方法。@DWin:“因为我需要量化重复的行,因为关于这个过程持续多长时间的关键数据只能通过查看它从第一次出现到最后出现的次数或时间来找到。为什么不拉出重复的行呢?”?有一个
duplicated
函数有一个dataframe方法。@DWin:“因为我需要量化重复的行,因为关于这个过程持续多长时间的关键数据只能通过查看它从第一次出现到最后出现的次数或时间来找到。嗯。。。按顺序读取可以让我为每个进程创建自己的唯一ID,解决非连续实例的问题,并使其适合关系数据库。绝对有可能。嗯。。。按顺序读取可以让我为每个进程创建自己的唯一ID,解决非连续实例的问题,并使其适合关系数据库。绝对有可能。
R123,M,5,... <-- line A
R123,P,3,... <-- line B
R955,Z,3,...