Python / Pandas: найти минимальное значение в фрейме данных или словаре - PullRequest
0 голосов
/ 09 июля 2020

Я создал словарь в a для l oop, который дал мне следующие 192 результата:

dic_aic = {0: 16.83024400288158,
1: 10.580792750644934,
2: 10.460203246761916,
3: 10.44309674334913,
4: 10.425859422774248,
        ...
191: 10.273789550619007,
192: 10.272853618268071}

Когда я рисую это с помощью pandas, я получаю следующее:

aic_df = pd.DataFrame(aic_dic.items(), columns=['Order', 'AIC'])
aic_df = aic_df.set_index('Order')
aic_df[1:].plot()

введите описание изображения здесь

С

 min(aic_dic, key=aic_dic.get)

Я получаю минимальное значение в моем di c с 192. Но, как вы можете видеть на картинке, разница между AI C на 192 и, например, 96 очень мало, всего 10,272853618268071 - 10,28435108717606 = 0,01149 ... Я пытаюсь найти оптимизированное значение около 96. Кто-нибудь знает, как решить эту проблему с помощью python? Может с интегралом?

1 Ответ

1 голос
/ 09 июля 2020

Вы можете сначала установить минимальное значение, как вы только что сделали.

Затем вам нужно установить значение допуска, например 0,1.

Затем вы можете вернуть наименьшее значение ключа с помощью удовлетворяет min + - допуск

minimum = min(aic_dic, key=aic_dic.get)  #your code here
tolerance = 0.1 #could be higher lower up to you
possible_answers = []
for key,value in your_dict.items():
    if minimum + tolerance > value:
          possible_answers(key)
print(min(possible_answers)) # you can adjust here as according to your need
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...