Повторная дискретизация Pandas с использованием numpy percentile?

Вы когда-нибудь использовали функцию процентиля numpy при использовании функции pandas resample?

Учитывая, что «данные» – это кадр данных с одним столбцом с данными 10min, я хотел бы сделать что-то вроде этого:

dataDaily=data.resample('D',how=np.percentile(data['Col1'],q=90) 

Я получил следующую ошибку:

 'numpy.float64' object is not callable 

Вы когда-нибудь пробовали это?

Вы должны передать функцию how параметр, а не значение. Я думаю, что в вашем случае вы можете использовать анонимную функцию (лямбда-функцию):

 dataDaily = data.resample('D', how=lambda x: np.percentile(x['Col1'], q=90)) 

пример:

 >>> df = pd.DataFrame({'Col1': np.random.randn(10)}) >>> df.index = map(pd.Timestamp, ['20130101', '20130102']) * 5) >>> df Col1 2013-01-01 -0.636815 2013-01-02 -0.028921 2013-01-01 0.643083 2013-01-02 0.065096 2013-01-01 0.446963 2013-01-02 0.462307 2013-01-01 2.768514 2013-01-02 -1.406168 2013-01-01 0.732656 2013-01-02 -0.699028 >>> df.resample('D', how=lambda x: np.percentile(x['Col1'], q=90)) Col1 2013-01-01 1.954171 2013-01-02 0.303423