Я пытаюсь применить функцию RMS для данных акселерометра, который находится в 3-х измерениях.Кроме того, в начале у меня есть столбец отметки времени, который я сохранил в счетчиках дней.Таким образом, кадр данных выглядит следующим образом:
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' - это дни, а все остальные столбцы - это 3-осевые данные акселерометра.Прямо сейчас я использую этот подход, чтобы вычислить среднеквадратичное значение в новый столбец и удалить существующие 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+ строк,Так есть ли лучший и более быстрый (питонический) способ сделать это?Благодарю.Код выше я сделал только для одного файла и он очень медленный.