2
저는 파이썬과 팬더로 간단한 시간차 분석에 접근하는 가장 좋은 방법을 찾고 있습니다. 이것은 단지 재미있는 일이므로, 더 많은 것을 배울 수 있도록 해답을 설명해주십시오.팬더와 시간 차이 분석을 수행하는 가장 좋은 방법은 무엇입니까?
나는 임의의 데이터를 생성하기 시작했습니다. 첫 번째는 2 명의 사용자에 대한 4 세션의 총 기간에 대해 20 초의 시간 소인 빈도가있는 날짜입니다. 사용자는 123과 345입니다.
여기 시뮬레이션은 사용자가 온라인 상태인지 아닌지를 20 초마다 보여주는 스냅 샷입니다. 나는 각 사용자 레코드 사이의 시간 간격을 측정하고 다시 레코드를 추가 할
달성하기 위해 노력하고
import pandas as pd
session_one = pd.date_range('2016-01-01', periods=100, freq='20S')
session_two = pd.date_range('2016-02-01', periods=75, freq='20S')
session_three = pd.date_range('2016-01-01', periods=125, freq='20S')
session_four = pd.date_range('2016-02-01', periods=25, freq='20S')
user_one = [session_one, session_two]
user_two = [session_three, session_four]
data = []
for sessions in user_one:
for dates in sessions:
data.append([123,dates])
for sessions in user_two:
for dates in sessions:
data.append([345,dates])
# Make our dataframe with our randomly generated data
df = pd.DataFrame(data=data, columns=['ID', 'Timestamp'])
.
SQL 접근
나는 좋은 SQL 접근 방식을 가지고 있지만, 서로 ontop이 데이터 세트에 가입하고 팬더 제대로 시간을 상쇄 복제 할 수없는 것. 예를 들어, 같은 팬더 병합을 (가입)하고 :df['Timestamp'] + datetime.timedelta(0,20)
였습니다 얼마나 쉬운가. * bonk * – Fastidious
질문이 더 복잡해 보였기 때문에 확실하지 않았습니다. 행운을 빕니다! – jezrael
그래, .diff()가 SQL에서와 같이 DATEDIFF (SECONDS, field1, field2)와 같은 작업을 수행하는 데 비해 시간 차이를 보여주기 위해 다음 레코드를 반복 할 것이라고 생각하지 않았습니다. – Fastidious