팬더

2016-10-09 11 views
0

I는 다음과 같이 나타납니다 csv 파일의 데이터가 있습니다팬더

import numpy as np 
import pandas as pd 
data = pd.read_csv(r'C:\Curve.csv', index_col='DateTime') 
newIndex = pd.date_range(np.min(data.index), np.max(data.index),freq='1H') 
data.reindex(newIndex) 

: 나는대로 CSV 파일로이 파일을 읽고있다

DateTime  Temp 
10/1/2016 0:00 20.35491156 
10/1/2016 1:00 19.75320845 
10/1/2016 4:00 17.62411292 
10/1/2016 5:00 18.30190001 
10/1/2016 6:00 19.37101638 

을 내 목표는 놓친 시간 2와 3을 19.75320845로 다시 채우는 것입니다. 즉 누락 된 데이터가있을 때마다 백필을 수행해야합니다.

+1

'data.resample ('1H'). pad()'는 정상적으로 처리되어야합니다. 리샘플링하기 전에'data.index'가'pandas datetime' 타입인지 확인하십시오. – Abdou

답변

3
import pandas as pd 
data = pd.read_csv(r'Curve.csv', index_col='DateTime', parse_dates=['DateTime']) 
data = data.asfreq('1H', method='ffill') 

      Temp 
DateTime      
2016-10-01 00:00:00 20.354912 
2016-10-01 01:00:00 19.753208 
2016-10-01 02:00:00 19.753208 
2016-10-01 03:00:00 19.753208 
2016-10-01 04:00:00 17.624113 
2016-10-01 05:00:00 18.301900 
2016-10-01 06:00:00 19.371016 

method='ffill'

가 지시 산출 asfreq에 마지막 유효 (NaN이 아닌) 값을 이용하여 "전달 - 필"누락 값.