我正在尝试使用 Dataframes 而不是 numpy 数组来重新编写用于信号处理的大部分分析代码。但是,我很难弄清楚如何将数据帧的整个矩阵作为一个整体传递给函数。
例如,如果我正在计算共同的平均参考信号,我有类似的东西:
avg = signal.mean(axis=1)
CAR = signal - avg
我想做的是将一个熊猫数组传递给这个函数,并让它返回一个以 CAR 作为值的数据框。我想这样做,而不仅仅是返回一个数组,然后将其重新转换回数据帧。
听起来当您使用 df.apply() 时,它会按行或按列进行,并且不会放入整个矩阵。我可以更改 CAR 的代码来完成这项工作,但它似乎会减慢它的速度,而不是只使用 numpy 的代码一次完成所有工作。它可能不会对计算平均值产生太大影响,但我预见这可能是未来可能需要更长时间的其他功能的问题。
谁能指出我正确的方向?
编辑:澄清一下,我这样做不仅仅是为了减去平均值,这只是一个简单的例子。一个更现实的例子是沿轴 0 线性过滤数组。我想使用 scipy.signal filtfilt 函数来过滤我的数组。如果我可以只传递一个 tpts x 壮举矩阵,这很容易,但现在似乎唯一的方法是使用“应用”逐列