Нахождение нижнего минимума в df, но получил Может сравнивать только идентично помеченные объекты DataFrame - PullRequest
0 голосов
/ 26 января 2020

У меня есть цены на акции как df в этой форме df

Я пытаюсь найти нижний минимум при перемещении из ряда в ряд, а также более высокий максимум, используя следующий код

while i<5:
print('index value',i)
if prices_df.loc[[i],['low']] < ll:
    ll = prices_df.loc[[i],['low']]
    print('ll update to', ll, "while i=", i)
elif prices_df.loc[[i],['high']] >hh:
    hh = prices_df.loc[[i],['high']]
    print('hh update to', hh, "while i=",i)
i += 1
continue

но я получил следующую ошибку

Можно сравнивать только объекты DataFrame с одинаковыми метками ValueError: может сравнивать только идентично помеченные объекты DataFrame

1 Ответ

0 голосов
/ 26 января 2020

Как отмечает @Jon Clements. Функция агрегирования в pandas поможет вам.

lower_low = prices_df.head(5).agg({'low':'min'})
higher_high = prices_df.head(5).agg({'high':'max'})

df_ll = prices_df[prices_df['low'].float.contains(lower_low) == True]
df_hh = prices_df[prices_df['low'].float.contains(higher_high) == True]

Надеюсь, это вам поможет.

...