python - 在 Pandas 中重新采样数据时出现问题

标签 python pandas resampling

我正在尝试使用 Pandas 重新采样天气数据。原始数据的间隔大约为 5 分钟。最终,我想导出单独的 Excel 文件,其中的数据以 5 分钟、15 分钟和 1 小时的间隔重新采样。

我已成功将“时间”列设置为日期时间索引,但当我尝试重新采样时,我不断收到“DataError:没有要聚合的数字类型”

我还尝试使用转换器导入原始 Excel 文件={'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

最佳答案

这就是您的数据所发生的情况。

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
...

关于python - 在 Pandas 中重新采样数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122157/

相关文章:

python - Django 是否有一个为用户处理 "levels"的插件/应用程序?每个都有特定的权限/排名?

python UnicodeWarning : Unicode equal comparison. 如何解决这个错误?

python - 传递单个值而不是列表 django

python - Pandas - 根据多个 `or` 条件删除行

python - 在 Pandas 中排序两次

pandas - 使用除午夜以外的其他开始时间分组日期

python - 获取 python stdlib 版本,而不是解释器版本

python - 替换 pandas 中整个数据框中包含子字符串的整个字符串

python - pandas 中 resample 和 asfreq 的不同行为

javascript - 下采样和上采样后的音频关闭