Поиск нижнего нижнего уровня в df, но полученный Можно сравнивать только объекты DataFrame с одинаковой маркировкой

У меня есть цены на акции в виде 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 с одинаковыми метками.


person Maged    schedule 26.01.2020    source источник
comment
Я не уверен... но может ты сразу после prices_df.head(5).agg({'low': 'min', 'high': 'max'}) ?   -  person Jon Clements♦    schedule 26.01.2020


Ответы (1)


Как указал @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]

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

person am-3    schedule 26.01.2020
comment
Спасибо, но я не хочу суммировать минусы. Мне просто нужно найти самое низкое значение в столбце с надписью «низкий». Мне просто нужно одно значение, а не df - person Maged; 26.01.2020
comment
Вы можете перебирать строки в df.head().df['column'] с переменной для хранения значения. - person am-3; 26.01.2020