小编use*_*113的帖子

如果值在范围内,则合并2个数据帧

我一直在努力解决这个问题已经有一段时间了,无法找到任何方法,所以如果你能提供帮助,我将非常感激!我是编程新手,我的代码可能效率低下,但这是我能想到的最好的.

基本上,我有2个.csv文件(fixes.csv和zones.csv),它们包含不同的变量并且具有不同数量的行和列.第一个文件fixes.csv包含实验期间记录的眼动数据,看起来像这样:

Order Participant Sentence Fixation StartPosition
1       1          1         1       -6.89
2       1          1         2       -5.88
3       1          1         3       -5.33
4       1          1         4       -4.09
5       1          1         5       -5.36      
Run Code Online (Sandbox Code Playgroud)

这包含在句子阅读期间进行的眼动记录.会发生的是,20名参与者中的每一个都会读取一组40个12个单词的句子,对每个句子中的不同单词进行多次修改,有时会回过头来查看以前读过的单词.StartPosition列包含固定开始时屏幕上的位置(以视角度为单位).值通常在-8deg和8deg之间.

第二个文件z​​ones.csv包含有关句子的信息.40个句子中的每一个包含12个单词,每个单词形成一个感兴趣的区域.zones.csv看起来像这样:

Sentence     Zone  ZoneStart   ZoneEnd
  1           1     -8.86      -7.49
  1           2     -7.49      -5.89
  1           3     -5.88      -4.51
  1           4     -4.51      -2.90
Run Code Online (Sandbox Code Playgroud)

ZoneStart和ZoneEnd指示屏幕上每个区域的起始和结束坐标(以视角度为单位).因为每个句子中的单词不同,所以每个区域都有一个宽度.

我想要做的是同时使用两个文件,以便将zones.csv中的区域编号分配给fixes.csv中的注册.因此,例如,如果句子1中的第一个固定开始位置落在区域1的范围内,我希望将值1分配给它,以便结束文件看起来像这样:

Order Participant Sentence Fixation StartPosition Zone
1       1          1        1        -6.89          2
2       1          1        2        -5.88          2
3       1          1        3        -5.33          3 …
Run Code Online (Sandbox Code Playgroud)

csv r

5
推荐指数
2
解决办法
973
查看次数

标签 统计

csv ×1

r ×1