시간, 나침반 데이터, 가속도계 데이터, 자이로 스코프 데이터 및 카메라 패닝 정보와 같은 열 이름을 가진 세 명의 사용자로 구성된 세 개의 데이터 프레임이 있습니다. 사용자가 카메라 패닝을 수행하고 특정 시간 동안 데이터 프레임 이동이 감지 된 것처럼 특정 시간을 확인하기 위해 모든 데이터 프레임을 동시에 트래버스하고 싶습니다. 나는 대시를 사용하여 병렬 처리를 시도했지만 헛되지 않았습니다. 아래는 내 코드입니다.동시에 여러 데이터 프레임을 이동
import pandas as pd
import glob
import numpy as np
import math
from scipy.signal import butter, lfilter
order=3
fs=30
cutoff=4.0
data=[]
gx=[]
gy=[]
g_x2=[]
g_y2=[]
dataList = glob.glob(r'C:\Users\chaitanya\Desktop\Thesis\*.csv')
for csv in dataList:
data.append(pd.read_csv(csv))
for i in range(0, len(data)):
data[i] = data[i].groupby("Time").agg(lambda x: x.value_counts().index[0])
data[i].reset_index(level=0, inplace=True)
def butter_lowpass(cutoff,fs,order=5):
nyq=0.5 * fs
nor=cutoff/nyq
b,a=butter(order,nor,btype='low', analog=False)
return b,a
def lowpass_filter(data,cutoff,fs,order=5):
b,a=butter_lowpass(cutoff,fs,order=order)
y=lfilter(b,a,data)
return y
for i in range(0,len(data)):
gx.append(lowpass_filter(data[i]["Gyro_X"],cutoff,fs,order))
gy.append(lowpass_filter(data[i]["Gyro_Y"],cutoff,fs,order))
g_x2.append(gx[i]*gx[i])
g_y2.append(gy[i]*gy[i])
g_rad=[[] for _ in range(len(data))]
g_ang=[[] for _ in range(len(data))]
for i in range(0,len(data)):
for j in range(0,len(data[i])):
g_ang[i].append(math.degrees(math.atan(gy[i][j]/gx[i][j])))
data[i]["Ang"]=g_ang[i]
panning=[[] for _ in range(len(data))]
for i in range(0,len(data)):
for j in data[i]["Ang"]:
if 0-30<=j<=0+30:
panning[i].append("Panning")
elif 180-30<=j<=180+30:
panning[i].append("left")
else:
panning[i].append("None")
data[i]["Panning"]=panning[i]
result=[[] for _ in range(len(data))]
for i in range (0,len(data)):
result[i].append(data[i].loc[data[i]['Panning']=='Panning','Ang'])
를 통해 통해 도보로 진행할 수 있습니다 그래서 우리는 내 현재 코드를 추가 한 – jhole89
와 함께 작동 할 수있는 출발점이있다. –
이것은 잘못 형성된 질문입니다. 코드 외에도 작업중인 데이터의 예와 예상되는 내용을보고 싶습니다. 이 기사를 읽고 질문하는 방법에 대한 아이디어를 얻으십시오. http://stackoverflow.com/help/mcve http://stackoverflow.com/help/how-to-ask – piRSquared