2017-10-30 5 views
0

전기 계량기가있는 판다 데이터 프레임이 있습니다 (누적). df DatetimeIndex dtype = 'datetime64 [ns]'. .csv 파일을로드하면 데이터 프레임에 NaN 값이 포함되지 않습니다. 생성 된 월간 및 일별 에너지를 모두 계산해야합니다.pandas df.resample ('D'). sum() returns NaN

월별 생성량을 계산하려면 dfmonth = df.resample ('M'). sum()을 사용하십시오. 이것은 잘 작동합니다. 일일 생성을 계산하려면 다음을 사용합니다. dfday = df.resample ('D'). sum(). 부분적으로 작동하지만 일부 색인 날짜 (원시 파일에 누락 된 데이터 없음)의 경우 NaN을 반환합니다.

아래 코드를 참조하십시오. 왜 이런 일이 일어나는 지 아는 사람이 있습니까? 제안 된 솔루션은 무엇입니까?

df = pd.read_csv(file) 
df = df.set_index(pd.DatetimeIndex(df['Reading Timestamp'])) 
df=df.rename(columns = {'Energy kWh':'meter', 'Instantaneous Power kW (approx)': 'kW'}) 
df.drop(df.columns[:10], axis=1, inplace=True) #Delete columns I don't need. 
df['kWh'] = df['meter'].sub(df['meter'].shift()) 
dfmonth = df.resample('M').sum() #This works OK calculating kWh. dfmonth does not contain any NaN. 
dfday = df.resample('D').sum() # This returns a total of 8 NaN out of 596 sampled points. Original df has 27929 DatetimeIndex rows 

미리 감사드립니다.

+0

색인에 날짜가 누락 되었습니까? 예 : 아마도 주말 날짜에 대한 항목이 없을 것입니까? – EdChum

+0

아니요, 날짜를 놓치지 않았습니다. 도움이된다면 .csv를 첨부 할 수 있습니다. – Jab

+0

데이터를 복제하기 위해 원시 데이터와 코드를 첨부하십시오. 요점은 특정 날짜의 날짜가 누락 되었습니까? 이 날짜를 포함하는 색인 ​​항목이 없기 때문에'NaN' 항목을 보면? 이것은 아마도 일어난 일일 것입니다. – EdChum

답변

0

여러분 모두에게 큰 사과입니다. .csv 파일과 .csv 파일은 동일한 파일이 아닙니다. 데이터가 어떻게 든 손상되었습니다 .... df.resample ('D')에 문제가없는 지금까지 벽에 머리를 대고있었습니다. sum()

죄송합니다 다시 스레드 정렬을 고려하십시오.