전기 계량기가있는 판다 데이터 프레임이 있습니다 (누적). 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
미리 감사드립니다.
색인에 날짜가 누락 되었습니까? 예 : 아마도 주말 날짜에 대한 항목이 없을 것입니까? – EdChum
아니요, 날짜를 놓치지 않았습니다. 도움이된다면 .csv를 첨부 할 수 있습니다. – Jab
데이터를 복제하기 위해 원시 데이터와 코드를 첨부하십시오. 요점은 특정 날짜의 날짜가 누락 되었습니까? 이 날짜를 포함하는 색인 항목이 없기 때문에'NaN' 항목을 보면? 이것은 아마도 일어난 일일 것입니다. – EdChum