我正在尝试使用pandas将15分钟的时间段重新采样为1小时的时间段,但是要应用自定义函数。我的DataFrame格式如下:
Date val1 val2
2016-01-30 07:00:00 49.0 45.0
2016-01-30 07:15:00 49.0 44.0
2016-01-30 07:30:00 52.0 47.0
2016-01-30 07:45:00 60.0 46.0
2016-01-30 08:00:00 63.0 61.0
2016-01-30 08:15:00 61.0 60.0
2016-01-30 08:30:00 62.0 61.0
2016-01-30 08:45:00 63.0 61.0
2016-01-30 09:00:00 68.0 60.0
2016-01-30 09:15:00 71.0 70.0
2016-01-30 09:30:00 71.0 70.0
我想使用这个函数进行重新采样:
def log_add(array_like):
return (10*math.log10((sum([10**(i/10) for i in array_like])))))
我明白;
df.resample('1H').apply(log_add)
但这样返回一个空的数据框,可以尝试这样做:
df.resample('1H').apply(lambda x: log_add(x))
同样的操作也是如此。有人知道为什么该函数没有正确应用吗?
非常感谢任何帮助。
df.resample('1H').agg(...)
(不要引用我说的话)。重新采样对象现在基本上就像是一个 groupby。 - pbreach