Я новичок с py.Моя проблема в том, что мне не удалось сравнить элементы временной серии с их соответствующими группами по квантильной мере.Вот DF:
import numpy as np
import pandas as pd
#np.random.seed(444)
df = pd.DataFrame({
'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo','foo','bar'],
'B' : ['one', 'one', 'two', 'two','two', 'two', 'one', 'two','one','two'],
'2018-09-28' : np.random.randn(10),
'2018-10-06' : np.random.randn(10),
'2018-10-13' : np.random.randn(10)
})
df.index = ['se0','se1','se2','se3','se4','se5','se6','se7',"se8",'se9']
df.index.name = 'SE'
2 df затем создаются, где вычисляются верхний и нижний пределы
# вычисляют нижний и верхний квантиль в соответствии с группами A и B и помещают
это на уровне индекса (se0, ...)
df_low = df.groupby(['A','B']).transform(lambda x : x.quantile(0.45))
df_high = df.groupby(['A','B']).transform(lambda x : x.quantile(0.55))
print(df_low)
print(df_high)
# создать новый df, где есть флаг (1 или -1) в соответствии с тестом, оценивающим значение se0, ..., se9 против их группового квантиля
f=lambda x : -1 if x<df_low else 1 if x>df_high else 0
transformed=df.iloc[:,2:].apply(f)
и там у меня ошибка.Где я не прав?