You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么自定义函数命令窗输出矩阵,但Spyder变量浏览器中变量为NoneType

问题修复方案

问题根源

你的变量x为NoneType的核心原因是downsample_happysongs函数没有显式声明返回值,Python中所有无return语句的函数执行完成后默认返回None,你此前仅打印了每列的重采样结果,没有将结果聚合存储并返回。

修复后代码

import numpy as np
import mne

def downsample_happysongs():
    sample_freq = 128  # 数据集采样频率
    data1 = data[1]['sect3'] # 原始1500×8矩阵
    resampled_cols = [] # 初始化空列表存储重采样后的列
    for col in data1.T:
        resample = mne.filter.filter_data(col, sample_freq, 0, 45, verbose=False)
        resampled_cols.append(resample)
    # 把列列表转成数组后转置,还原为1500×8的结构
    resampled_matrix = np.array(resampled_cols).T
    return resampled_matrix

x = downsample_happysongs()

运行上述代码后x就是重采样完成的1500×8矩阵。

更高效的矩阵处理建议

你不需要手动遍历列完成滤波,mne.filter.filter_data本身支持直接处理二维矩阵,只需要指定处理的轴参数即可,代码可以简化为:

def downsample_happysongs():
    sample_freq = 128
    data1 = data[1]['sect3']
    # axis=0表示按列处理,适配1500行是采样点、8列是通道的结构,无需手动转置
    resampled_matrix = mne.filter.filter_data(data1, sample_freq, 0, 45, verbose=False, axis=0)
    return resampled_matrix

x = downsample_happysongs()

这种向量化操作比手动循环遍历列的执行效率更高,也省略了转置还原的操作步骤。

内容的提问来源于stack exchange,提问作者PeruvianNaplord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:27:01