Python:如何将 While 时间循环代码添加到 EEG CSV 导出中以便更清晰
Python: How do I add a While time loop code to a EEG CSV export for better clarity
我目前在使用来自 physio 的 Siena 头皮数据库的脑电图数据时遇到问题。
我拥有的脑电图数据有大约 30 个通道和一个在癫痫发作时显示的文本文件。我已经编写了一些代码,将结果导出到具有正确通道名称的 excel 文件中,但我没有时间记录。
[这是我将 EEG 数据导出到 CSV 的代码][1]
导出 EEG 数据的代码
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
我假设 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” 作为一个值。有关更多信息,我想推荐阅读文档。
我目前在使用来自 physio 的 Siena 头皮数据库的脑电图数据时遇到问题。 我拥有的脑电图数据有大约 30 个通道和一个在癫痫发作时显示的文本文件。我已经编写了一些代码,将结果导出到具有正确通道名称的 excel 文件中,但我没有时间记录。 [这是我将 EEG 数据导出到 CSV 的代码][1]
导出 EEG 数据的代码
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
我假设 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” 作为一个值。有关更多信息,我想推荐阅读文档。