索引熊猫系列一小时

时间:2013-12-17 22:52:19

标签: pandas

在我的代码中,我目前正在使用Pandas进行以下操作:

ser = oldser.dropna().copy()
for i in range(24):
    ind = ser.groupby(ser.index.hour).get_group(i).index
    ser[ind]=something

此代码复制一个系列,然后分别每小时一次并对其执行某些操作。这看起来非常混乱 - 任何方法可以很好地清理它?

我真正想要的是类似于

的东西
series['2011']

从2011年获取所有数据,而不是

series['2pm'] 

在下午2点获取所有数据。

1 个答案:

答案 0 :(得分:1)

当然,你想做一次groupby操作,一个轻微的重构:

g = ser.groupby(ser.index.hour)
for i, ind in g.indices:
    ser.iloc[ind] = something

但很可能你可以进行转换或应用(取决于什么是):

g.transform(something)
g.apply(something)