Учитывая 2 серии:
Код: Выделить всё
s1 = pd.Series(np.arange(5), index=range(5)) # s1 = 1, 2, 3, 4
s2 = pd.Series(np.arange(2, 5), index=range(2, 5)) # s2 = 2, 3, 4, 5
Код: Выделить всё
k = 0.1
r1 = (s1 * k).rolling(2).sum().dropna() # r1 = 1, 3, 5, 7
r2 = (s2 * k).rolling(2).sum().dropna() # r2 = 5, 7
# remove values from r1 which are not in r2
r1 = r1[r2.index] # r1 = 5, 7
# now r1 should be exactly the same as r2, let's check the indices:
all(r1.index == r2.index) # => true
Код: Выделить всё
r1.iloc[0] == r2.iloc[0] # => false
abs(r1.iloc[0] - r2.iloc[0]) < 0.000000000000001 # => true
abs(r1.iloc[0] - r2.iloc[0]) < 0.0000000000000001 # => false
Однако я бы хотел Предположим, что к обеим сериям применяются одни и те же детерминированные вычисления в окне(ях), поэтому я ожидаю, что результаты будут абсолютно одинаковыми.
Мне интересно, что именно вызывает такое поведение при реализации оконной операции.
Подробнее здесь: https://stackoverflow.com/questions/790 ... th-of-a-se
Мобильная версия