在我的代码中,我目前正在使用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点获取所有数据。
答案 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)