这是一个更大项目的一部分,但我已将问题分解为多个步骤,所以这是第一步。采用 Pandas 数据框,如下所示:
index | user time
---------------------
0 F 0
1 T 0
2 T 0
3 T 1
4 B 1
5 K 2
6 J 2
7 T 3
8 J 4
9 B 4
Run Code Online (Sandbox Code Playgroud)
对于每个唯一用户,我可以在某些条件下提取“时间”列中的值之间的差异吗?
例如,用户 J 有两个实例,这两个实例之间的“时间”差异是 2。我可以提取这两行之间的差异 2 吗?然后,如果该用户再次出现,请提取该行与数据框中该用户之前出现之间的差异?
我可以通过在我的csv(以分号分隔)文件中显示几个示例行来说明我遇到的问题,如下所示:
4;1;"COFFEE; COMPANY";4
3;2;SALVATION ARMY;4
Run Code Online (Sandbox Code Playgroud)
请注意,在一行中,一个字符串在引号中并且在其中有一个分号(除了包含分号的列之外,没有列在我的输入文件中有引号).
带引号和分号的这些行导致了问题 - 基本上,我的代码在列/字段内的引号内计算分号.因此,当我在这一行中读取时,它会在字符串中读取这个分号作为分隔符,从而使得该行看起来像是一个额外的字段/列.
所需的输出看起来像这样,"咖啡公司"周围没有引号,"咖啡"和"公司"之间没有分号:
4;1;COFFEE COMPANY;4
3;2;SALVATION ARMY;4
Run Code Online (Sandbox Code Playgroud)
实际上,这个带有"咖啡公司"的专栏对我来说完全没用,所以最终文件也可能是这样的:
4;1;xxxxxxxxxxx;4
3;2;xxxxxxxxxxx;4
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱这个特定列中的半冒号,但是没有摆脱所有其他的冒号?