栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[MNE example]Working with Epoch metadata

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[MNE example]Working with Epoch metadata

[MNE example]Working with Epoch metadata《文章链接》
import os
import numpy as np
import pandas as pd
import mne
# 与anaconda jupyter notebook不同,必须import matplotlib.pyplot package
import matplotlib.pyplot as plt

# 若本地没有该数据集,会自动从‘https://osf.io/qkvf9/download?version=1'处下载到本地
# 与anaconda jupyter notebook不同,必须使用plt.show()
# 但jupyter notebook中Epoch object调用plot()时会多pirnt一个重复的图
# 解决办法:'import matplotlib.pyplot as plt' and call 'plt.show()'

kiloword_data_folder = mne.datasets.kiloword.data_path()
kiloword_data_file = os.path.join(kiloword_data_folder,
                                  'kword_metadata-epo.fif')
epochs = mne.read_epochs(kiloword_data_file)


# show some parts of data of metadata
print(epochs.metadata)

print('Name-based selection with .loc')
print(epochs.metadata.loc[2:4])

print('nIndex-based selection with .iloc')
print(epochs.metadata.iloc[2:4])

# add new column name into metadata
epochs.metadata['NumberOfLetters'] = 
    epochs.metadata['NumberOfLetters'].map(int)

epochs.metadata['HighComplexity'] = epochs.metadata['VisualComplexity'] > 65
print(epochs.metadata.head())

# metadata querying by single condition
print(epochs['WORD.str.startswith("dis")'])


# metadata querying by multiple conditions
print(epochs['Concreteness > 6 and WordFrequency < 1'])


# metadata querying by condition names
epochs['solenoid'].plot_psd()
plt.show()


# select specific words in metadata for plotting like Pandas string query
words = ['typhoon', 'bungalow', 'colossus', 'drudgery', 'linguist', 'solenoid']
epochs['WORD in {}'.format(words)].plot(n_channels=29)
plt.show()


# group the element of metadata
evokeds = dict()
query = 'NumberOfLetters == {}'
for n_letters in epochs.metadata['NumberOfLetters'].unique():
    evokeds[str(n_letters)] = epochs[query.format(n_letters)].average()

mne.viz.plot_compare_evokeds(evokeds, cmap=('word length', 'viridis'),
                             picks='Pz')
plt.show()

# order the metadata in an image plot window on metadata key-value name
sort_order = np.argsort(epochs.metadata['WordFrequency'])
epochs.plot_image(order=sort_order, picks='Pz')
plt.show()


# add metadata to an epochs objext
new_metadata = pd.Dataframe(data=['foo'] * len(epochs), columns=['bar'],
                            index=range(len(epochs)))
epochs.metadata = new_metadata
print(epochs.metadata.head())

# remove metadata
epochs.metadata = None
Anaconda jupyter notebook下载数据集总是失败,还是先通过pycharm下载数据集,下载完成后,pycharm和anaconda都能运行,这里希望有大佬能指出解决办法,感激不尽!!! ,同时,anaconda有时Epochs.plot()时会重复plot,解决办法已在代码中指出。 最后,感谢各位阅读和MNE官网关于该文章中知识的作分享!!! 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号