两个列表的SQLstyle外部联接

2024-04-26 06:27:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有来自一个平台的数据,它记录了一个用户的事件——无论是投票答案,还是点击流数据。我正在尝试汇集一些相关的数据集,每个数据集都有一个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中的漏洞,然后用空数据填充列表,这样三个列表就可以简单地添加在一起了。你知道吗

有什么想法吗?你知道吗


Tags: csv数据用户iddf列表on记录
1条回答
网友
1楼 · 发布于 2024-04-26 06:27:23

如何定义“外部库”?sqlite3是外部的还是内部的?你知道吗

  1. 如果不是这样,并且您想从关系操作的角度来考虑这个问题,那么可以将表强制放到sqlite3文件中,并从中获取它。

  2. 如果数据集的数量是有限的,您可以创建一个类会话,其中包含一个字典,其中每列(a到j)都是一个键。如果你很精通,你可以在需要的时候使用getattr函数来使用“点”符号。对于“表”,我只需要使用一个字典,以键作为id,然后分三步(dataset1、dataset2、dataset3)填充字典。这样你就不用担心差距了。

相关问题 更多 >

    热门问题