gpt4 book ai didi

python-3.x - 在三列 Pandas 上应用 RMS 公式

转载 作者:行者123 更新时间:2023-12-01 07:55:04 25 4
gpt4 key购买 nike

我正在尝试为 3 维的加速度计数据应用 RMS 函数。另外,我在开头有一个时间戳列,我以天数为单位。所以数据框如下:

       0        1       2      3
0 1.963 -12.0 -71.0 -2.0
1 1.963 -11.0 -71.0 -3.0
2 1.963 -14.0 -67.0 -6.0
3 1.963 -16.0 -63.0 -7.0
4 1.963 -18.0 -60.0 -8.0

'0'列是Days,其他列都是accelero-meter的3轴数据。现在我正在使用这种方法来计算新列的 RMS 值并删除现有的 3 轴数据:

def rms_detrend(x):
return np.sqrt(np.mean(x[1]**2 + x[2]**2 + x[3]**2))

accdf =pd.read_csv(ACC_files[1],header=None)
accdf['ACC_RMS'] = accdf.apply(rms_detrend,axis=1)
accdf = accdf.drop([1,2,3],axis=1)
accdf.columns = accdf['Days','ACC_RMS']

但是,我有 70 个这样的加速度计数据文件,每个文件大约有 4000 多行。那么有没有更好更快(pythonic)的方法来做到这一点?谢谢。上面的代码我只为一个文件做的,而且速度很慢。

最佳答案

来自 pandas 的方法

(df.iloc[:,1:]**2).sum(1).pow(1/2)
Out[26]:
0 72.034714
1 71.909666
2 68.709534
3 65.375837
4 63.150614
dtype: float64

关于python-3.x - 在三列 Pandas 上应用 RMS 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51025497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com