2016-05-09 9 views
2

Я пытаюсь перепрограммировать данные о погоде с помощью Pandas. Исходные данные находятся примерно в 5-минутных интервалах. В конце концов, я хотел бы экспортировать отдельные файлы excel с данными, передискретированными с интервалом 5 минут, 15 минут и 1 час.Данные о передискретизации данных в Pandas

Я успешно установить колонку «Time», как индекс даты и времени, но когда я пытаюсь ресэмплировать, я получаю «DataError: Нет числовых типов не агрегировать»

Я также попытался импортировать исходный первенствует файл с преобразователями = {'TemperatureF': int ... etc

#Open Excel File With Original Timestamps 
xlsx = pd.ExcelFile('IDLWeaterData_OriginalTime.xlsx') 
df = pd.read_excel(xlsx) 
print ('File read successfully') 

# Set 'Time' Column as dataframe index 
df.set_index(pd.DatetimeIndex(pd.to_datetime(df.Time)), inplace=True) 
df.drop(['Time'],axis=1) 

#Resample to 5 minute intervals 
clean5 = df.resample('5min').mean() 

Любое понимание того, что вызывает эту проблему, было бы замечательно! Благодаря!

Вот пример данных:

    TemperatureF DewpointF PressureIn Humidity HourlyPrecipIn dailyrainin SolarRadiationWatts/m^2 
2016-01-01 00:04:00 31.9 22.2 30.51 67 0.00 0.00 0 
2016-01-01 00:10:00 32.2 22.5 30.52 67 0.00 0.00 0 
2016-01-01 00:16:00 32.5 23.1 30.51 68 0.00 0.00 0 
+0

С 'df.dtypes' вы можете увидеть DTYPE каждого столбца в вашем dataframe. По-видимому, у вас нет числовой колонки. – ayhan

+0

@ayhan df.dtypes возвращает все объекты, за исключением индекса. – WheninSeattle

+0

@ Александр Я удалил все столбцы, не содержащие целых чисел (направление ветра и т. Д.). – WheninSeattle

ответ

2

Это то, что происходит с вашими данными.

enter image description here

Чтобы это исправить:

>>> df[df.Time.notnull()].set_index('Time').astype(float).resample('5min') 
       TemperatureF DewpointF PressureIn Humidity HourlyPrecipIn 

dailyrainin SolarRadiationWatts/m^2 
Time                              
2016-01-01 00:00:00   31.9  22.20  30.51  67    0   0      0 
2016-01-01 00:05:00   NaN  NaN   NaN  NaN    NaN   NaN      NaN 
2016-01-01 00:10:00   32.2  22.50  30.52  67    0   0      0 
2016-01-01 00:15:00   32.5  23.10  30.51  68    0   0      0 
2016-01-01 00:20:00   32.5  22.80  30.52  67    0   0      0 
... 
+0

Wow , Так просто и понятно в ретроспективе. Благодарим вас за выявление проблемы и за вашу помощь! Для других, кто предоставил полезные предложения, мои извинения за то, что кто-то сбился с пути, предоставив неполное изображение проблемы. – WheninSeattle