2017-12-20 29 views
0
timestamp,value 
19/12/2017 12:00:00,12 
19/12/2017 12:01:00,13 
19/12/2017 12:05:00,15 
19/12/2017 12:10:00,23 
19/12/2017 12:11:00,46 
19/12/2017 12:13:00,12 
19/12/2017 12:14:59,34 
19/12/2017 12:15:00,33 
19/12/2017 12:16:00,33 
19/12/2017 12:30:00,87 
19/12/2017 12:50:00,44 
19/12/2017 12:56:00,54 
19/12/2017 1:16:00,54 
19/12/2017 1:29:59,54 

논리로 데이터 미만 15 분 업데이트가 있는지 계산 확인 : < 15 분 inclue 한 다른 0파이썬 : 다른 1 0

위는 내 데이터 세트입니다 지금은 15 분 설정 주파수를 원하는 것처럼 15Min 데이터 내에서 새로운 열에 있습니다. 항목은 1로 업데이트됩니다. 데이터가 15 분 미만인 경우 0으로 업데이트됩니다. 참고 : 15Min 중 하나의 데이터가있을 경우 1이됩니다. .

조건은 다음과 같습니다. 데이터에 타임 스탬프 12시 0분 0초 내에있는 경우 12시 14분 59초 다른 1 0보다 그리고 누락 된 데이터도있을 것입니다 경우 0

코드 :

import pandas as pd 
df = pd.read_csv('mydata.csv', parse_dates=['timestamp']) 
print (df) 
mask=(df['timestamp'].dt.minute<15) 
df1 = df[mask] 
print (df1) 

예상 출력 :

2017-12-19 12:00:00  12 1  
2017-12-19 12:01:00  13 1 
2017-12-19 12:05:00  15 1 
2017-12-19 12:10:00  23 1 
2017-12-19 12:11:00  46 1 
2017-12-19 12:13:00  12 1 
2017-12-19 12:14:59  34 1 
2017-12-19 12:15:00  33 1 
2017-12-19 12:16:00  33 1 
2017-12-19 12:30:00  87 1 
2017-12-19 12:50:00  44 1 
2017-12-19 12:56:00  54 1 
2017-12-19 01:00:00 to 2017-12-19 01:14:59 no data update as 0 
2017-12-19 01:16:00  54 0  
2017-12-19 01:29:59  54 0 

요구 사항은 다음과 같습니다. 주파수가 15 분인지를 확인하는 중 데이터가 없거나 15 분 동안 누락되어 있는지 확인하는 것보다 0으로 만들고 데이터가 15 분 이내에 있으면 1로 만듭니다.

+0

예상되는 결과는 무엇이며 해당 코드로 얻는 결과는 무엇입니까? – kvk30

+0

업데이트 된 질문. –

+0

'2017-12-19 12 : 30 : 00 ~'2017-12-19 12 : 50 : 00'은 특별한 경우이거나 어떤 목적으로 필요하지 않은가요? – kvk30

답변

0

이 코드는 원하는 출력을 얻을 수 있으며 그래프를 얻는 데 도움이됩니다.

import pandas as pd 
import matplotlib.pyplot as plt 
df = pd.read_csv('mydata.csv', parse_dates=['timestamp']) 
df['new'] = df['timestamp'].diff().dt.total_seconds().fillna(0).abs().lt(60 * 15).astype(int) 
df = df.sort_values('timestamp', ascending=True) 
plt.plot(df['timestamp'], df['new']) 
plt.xticks(rotation='vertical') 
plt.show() 
+0

하지만 누락 된 데이터를 채울 수 있습니까 ??? –

+0

어느 열을 채우시겠습니까? – kvk30