使用python处理眼动数据

本文介绍了如何使用Python处理眼动数据,包括将TSV文件转换为Excel格式,处理数据以适应Pandas数据框,调整坐标系使左上角为0点,填充并统一Event列的触发器信息,以及将空值替换为-1,最后删除特定行以优化数据结构。
摘要由CSDN通过智能技术生成

目的分析

目的分析:

  1. 由于眼动程序生成的文件格式是tsv (tobii支持),为了excel处理方便
    在源代码中改成了xls,但excel不能正常打开,所以不能直接使用pandas。
    解决思路:通过with open打开,通过数据格式处理,转为pandas支持的数据框。
  2. 输出的眼动文件中,以屏幕中心为0点。但为了方便计算,需要改成以左上角为0点。
    解决思路:显示器分辨率为1920*1080,因此,x + 960, y + 540
  3. 在Event列,输出的眼动文件中,只在每一事件开始时的一行写triiger。为了后续
    分析方面,需要连续写入相同triiger,直到该事件结束。
    解决思路:
    1) 使用fillna(method=‘ffill’),以前一个trigger为准,填充空值
    2) 使用fillna(‘Event’)填充其他空值
  4. 原眼动文件中空值的标记方式是"np.nan",为了方便后续在matlab中计算眼动,需改成"-1"
    解决思路:在Event列处理完成后通过fillna(-1)实现
  5. 删除特定行,如Event1, Event’Event’等
    解决思路:获取特定行的index,使用tolist()转为列表,通过drop()删除
import os
import pandas as pd
import numpy as np
import logging


"""
目的分析:
1. 由于眼动程序生成的文件格式是tsv (tobii支持),为了excel处理方便
   在源代码中改成了xls,但excel不能正常打开,所以不能直接使用pandas。
   解决思路:通过with open打开,通过数据格式处理,转为pandas支持的数据框。
2. 输出的眼动文件中,以屏幕中心为0点。但为了方便计算,需要改成以左上角为0点。
   解决思路:显示器分辨率为1920*1080,因此,x + 960, y + 540
3. 在Event列,输出的眼动文件中,只在每一事件开始时的一行写triiger。为了后续
   分析方面,需要连续写入相同triiger,直到该事件结束。
   解决思路
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值