2016-05-09 9 views
2

Ich versuche, Wetterdaten mit Pandas neu zu berechnen. Die Originaldaten liegen in Abständen von ungefähr 5 Minuten vor. Schließlich möchte ich separate Excel-Dateien mit Daten, die in Intervallen von 5 Minuten, 15 Minuten und 1 Stunde neu abgetastet wurden, exportieren.Problem Resampling Daten in Pandas

Ich habe erfolgreich ‚Time‘ Spalte als Datetime-Index gesetzt, aber wenn ich sampeln versuchen, ich erhalte „Dataerror: Keine numerischen Typen aggregieren“

ich auch die Originaldatei mit Konvertern Excel versucht haben, den Import = {'TemperatureF': int ... usw.

#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() 

Jeder Einblick in das, was dieses Problem verursacht, wäre großartig! Vielen Dank! Hier

ist eine Probe der Daten:

    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

Mit 'df.dtypes' Sie die dtype jeder Spalte in der Datenrahmen zu sehen. Anscheinend haben Sie keine numerische Spalte. – ayhan

+0

@ayhan df.dtypes gibt alle Objekte mit Ausnahme des Index zurück. – WheninSeattle

+0

@Alexander Ich habe alle Spalten eliminiert, die keine Ganzzahlen enthalten (Windrichtung usw.). – WheninSeattle

Antwort

2

Dies ist, was mit Ihren Daten geschieht.

enter image description here

es zu beheben:

>>> 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 . So einfach und klar im Rückblick. Vielen Dank für die Identifizierung des Problems und für Ihre Hilfe! Für andere, die hilfreiche Vorschläge gemacht haben, entschuldige ich mich dafür, jemanden in die Irre geführt zu haben, indem ich eine unvollständige Darstellung des Problems lieferte. – WheninSeattle