【问题标题】:Python: How do I add a While time loop code to a EEG CSV export for better clarityPython:如何将 While 时间循环代码添加到 EEG CSV 导出以获得更好的清晰度
【发布时间】:2021-04-03 22:16:22
【问题描述】:

我目前在使用来自 physio 的锡耶纳头皮数据库的 EEG 数据时遇到问题。 我拥有的 EEG 数据有大约 30 个通道和一个显示癫痫发作时间的文本文件。我编写了一些代码,将结果导出到具有正确频道名称的 excel 文件中,但我没有时间记录。 [这是我将 EEG 数据导出为 CSV 的代码][1]

代码导出脑电图数据

import numpy as np

import mne
 
edf = mne.io.read_raw_edf(r"Path name from external drive\PN00\PN00-1.edf")

np.savetxt('PN00-1Testv2.csv', edf.get_data().T, delimiter=',')

我创建了一个简单的时间代码,但我不知道如何将该代码输入到我当前的代码中。如果有人可以帮助我,那就太好了 [这是我的时间循环代码:][2]

时间循环代码

import datetime

import numpy as np

import mne

import pandas as pd

import xlwt

import openpyxl as op


Time_start = datetime.datetime(100,1,1,19,39,33,00) 

Time_increment = datetime.timedelta(milliseconds=0.00195)


x_TimeEnd = datetime.datetime(100,1,1,20,22,58) 


while Time_start <= x_TimeEnd:

    Time_start += datetime.timedelta(milliseconds=0.00195)

    print(Time_start)

上述代码循环,直到 Time_start 小于或等于 x_TimeEnd。我希望在我的 excel 输出中加入这样的内容,以便对于 EEG 数据的每条记录,我都有相应的时间输出。

EEG数据的采样率为512Hz EDF文件中的频道是 通道 1:Fp1 通道 2:F3 通道 3:C3 通道 4:P3 通道 5:1 通道 6:F7
通道 7:T3 通道 8:T5 通道 9:Fc1 通道 10:Fc5 通道 11:Cp1
通道 12:Cp5 通道 13:F9 通道 14:Fz 通道 15:Cz 通道 16:Pz
通道 17:Fp2 通道 18:F4 通道 19:C4 通道 20:P4 通道 21:O2
通道 22:F8 通道 23:T4 通道 24:T6 通道 25:Fc2 通道 26:Fc6
通道 27:Cp2 通道 28:Cp6 通道 29:F10 通道 33:EKG 1
第 34 频道:心电图 2

请原谅任何格式错误,因为这是我第一次使用 Stack Overflow。我已经包含了图像,希望它会 [1]:https://i.stack.imgur.com/O38tF.png [2]:https://i.stack.imgur.com/PnZkg.png

【问题讨论】:

  • 请提供文本格式的代码,变量也使用snake_case
  • 我不知道snake_case 是什么,也不知道它与变量的关系。我是 python 的初学者,只想让我的代码正常工作,我不需要添加任何肤浅的东西。
  • snake_case 是变量以这种方式命名的时候。所有小写​​字母,如果有多个单词,则此 _(下划线) 用作空格

标签: python time while-loop european-data-format


【解决方案1】:

我假设 edf 文件已经有可以使用 mne 模块读取的时间戳。因此,我建议使用它而不是生成新的时间戳。 mne.io.Raw 方法to_data_frame 将对象转换为pandas 数据框并允许您指定时间格式。

例如:

import mne
edf = mne.io.read_raw_edf(r"Path name from external drive\PN00\PN00-1.edf")
data = edf.to_data_frame(index="time", time_format="datetime")
data.to_csv("PN00-1Testv3.csv")

“time_format”参数采用None、“​​ms”、“datetime”、“timedelta”作为值。有关更多信息,我建议您阅读文档。

【讨论】:

  • Insulanus 你是一个救生员!有一件事我以为我弹出一个说 excel 打开文件有问题?文件打开,它们是数据,但我认为它与行限制有关?
  • 虽然我从未使用过 MS Excel 来处理大型数据集,但似乎有一个 add-in 允许您导入此类数据集。另一种选择是坚持使用 Python 或选择其他程序进行阅读。也许我应该澄清一下,逗号分隔值 (csv) 文件不是 excel 文件,它可以被许多其他程序读取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 2020-08-06
  • 2012-12-28
  • 2022-01-23
相关资源
最近更新 更多