我有来自一个平台的数据,它记录了一个用户的事件——无论是投票答案,还是点击流数据。我正在尝试汇集一些相关的数据集,每个数据集都有一个session\u id列。你知道吗
每个数据集以一个csv开始,作为一系列嵌套列表读入。不是每个会话都有一个用户回答一个问题,或者完成某些操作,因此每个数据集都将而不是包含每个会话的一个条目——但是,每个会话至少存在于其中一个数据集中。你知道吗
假设记录了5个会话:
例如数据集1:
会话ID | a | b | c | d
1 | x | x | x | x
2 | x | x | x | x
5 | x | x | x | x
例如数据集2:
会话ID | e | f | g | h
1 | x | x | x | x
3 | x | x | x | x
5 | x | x | x | x
例如数据集3:
会话ID | i | j | k | l
2 | x | x | x | x
3 | x | x | x | x
4 | x | x | x | x
我该如何构建:
课时d | a | b | c | d | e | f | h | i | j | k | l
1 | x | x | x | x | x | x | x |-|-|-
2 | x | x | x |-|-|-|-| x | x | x
3 |-|-|-|-| x | x | x | x | x | x | x
4 |-|-|-|-|-|-|-|-| x | x | x | x
5 | x | x | x | x | x | x | x |-|-|-
到目前为止,最简单的方法是将每个csv导入熊猫:
merged_df = pd.merge(dataset1, dataset2, how = 'outer', on="sessionID")
pd.merge(merged_df, dataset3, how = 'outer', on="sessionID")
但是要求我不使用任何外部库。你知道吗
我正在努力找到一个可行的逻辑来检测sessionID中的漏洞,然后用空数据填充列表,这样三个列表就可以简单地添加在一起了。你知道吗
有什么想法吗?你知道吗
如何定义“外部库”?sqlite3是外部的还是内部的?你知道吗
如果不是这样,并且您想从关系操作的角度来考虑这个问题,那么可以将表强制放到sqlite3文件中,并从中获取它。
如果数据集的数量是有限的,您可以创建一个类会话,其中包含一个字典,其中每列(a到j)都是一个键。如果你很精通,你可以在需要的时候使用getattr函数来使用“点”符号。对于“表”,我只需要使用一个字典,以键作为id,然后分三步(dataset1、dataset2、dataset3)填充字典。这样你就不用担心差距了。
相关问题 更多 >
编程相关推荐