def func1(x): try: return x.index[x.argmax()] except: return -999 def func2(x): try: return x.index[x.argmin()] except: return -999 df_origin['high_time'] = (df['last'].resample(label='right', closed='right',rule=period).agg(lambda x:func1(x))) df_origin['low_time'] = (df['last'].resample(label='right', closed='right',rule=period).agg(lambda x:func2(x))) 原表是一个时间顺序的价格序列 如果不写 try except 的话 x.index[x.argmax()]会因为 resample 遇到非交易时间段会自动切割出空值,argmax 在空值会报错。感觉方法不好,想请教下正确思路。。
