Nano Hash - криптовалюты, майнинг, программирование

Как получить минимальное и максимальное время эпохи из словаря Python?

У меня есть один словарь Python. В этом словаре я сохранил значение как эпоху. Я хочу знать, какое максимальное время эпохи и какое минимальное время эпохи. Кроме того, я хочу разделить эти эпохи на разные временные интервалы.

Программный код-

for key,value in self.key_dict.iteritems():
        print 'key : ' + str(key) + ' value : ' + str(value)

Вывод-

key : 1 value : 1468332422164000
key : 2 value : 1468332421672000
key : 3 value : 1468332423489000
key : 4 value : 1468332423568000
key : 5 value : 1468332421383000
key : 6 value : 1468332421818000
key : 7 value : 1468332423490000
key : 8 value : 1468332421195000
key : 9 value : 1468332421098000

Еще разбить на разные временные интервалы —

Это означает, что я просто хочу построить ось X, используя это время. Для этой цели я нахожу минимальное и максимальное время. В зависимости от разницы между минимальными и максимальными временными интервалами я хочу разделить его максимум на 3 или 4 временных интервала. пример - 1468332421098000 до 1468332423490000.

Это времена эпохи как значение словаря. как я могу найти максимум и минимум из этого и далее разделить на разные временные интервалы для построения оси x графика?


  • Можете ли вы объяснить особенности временных интервалов 25.07.2016
  • Далее разделить на разные временные интервалы? 25.07.2016
  • @ Джосси Кальдерон, посмотри мое редактирование. 25.07.2016
  • @kit Какой модуль вы будете использовать для его построения? 25.07.2016
  • @Джосси Кальдерон. Не используя никаких модулей, я просто хочу построить один график на консоли. 25.07.2016
  • @kit Я никогда этого раньше не делал. Можешь ли ты показать мне? Я использую plot.ly для своих графиков. 25.07.2016
  • @Jossie Calderon- [ github.com/LucaCanali/PyLatencyMap ] обратитесь к этому для тепловой карты на основе консоли. 25.07.2016

Ответы:


1

Максимум и минимум можно определить с помощью функций min() и max() на dict.values(), которые возвращают список значений словаря:

minimum = min(self.key_dict.values())
maximum = max(self.key_dict.values())
25.07.2016
  • @mhawke- это не полный ответ. Что мне делать, чтобы выплевывать целые значения словаря в слоты с 3 по 4? 25.07.2016
  • @kit: Честно говоря, это не полный вопрос, и я не могу читать мысли :) Можете ли вы пояснить, что вы имеете в виду под временными интервалами и при чем тут 3-4 слота? Вы хотите как-то сгруппировать значения? 25.07.2016
  • @mhawke-извините, что не дал надлежащего объяснения. см. мою правку. 25.07.2016

  • 2

    Если вы хотите, чтобы возвращались и ключ, и значение, используйте функции min и max вместе с key kwarg:

    key_dict = {'a': 1, 'b': 2}
    
    print min(key_dict.iteritems(), key=lambda item: item[1])
    # ('a', 1)
    print max(key_dict.iteritems(), key=lambda item: item[1])
    # ('b', 2)
    
    25.07.2016

    3

    Если у вас есть доступ к numpy, вы можете использовать его, чтобы собрать данные. Во-первых, давайте вычислим минимум и максимум наших значений.

    mn = min(self.key_dict.values())
    mx = max(self.key_dict.values())
    

    Теперь создайте несколько бинов для построения графика, которые поровну делят их:

    # five equally spaced points delimiting four bins
    bins = numpy.linspace(mn, mx, num=5)
    

    Теперь найдите корзину, в которой находится каждое значение:

    values = numpy.array(list(self.key_dict.values())
    bin_numbers = numpy.digitize(values, bins)
    

    Что вы хотите построить оттуда, неясно из вашего вопроса. Возможно, вы захотите построить bin_numbers по сравнению со словарными ключами... если вы хотите построить гистограмму, то будет проще использовать numpy.histogram, а не numpy.digitize.

    25.07.2016
  • @kit Если вы просто хотите узнать границы ваших временных интервалов, в этом примере они находятся в массиве bins. 25.07.2016
  • @donkopotamus-bins содержит временные интервалы, но эти временные метки имеют разные форматы, как я могу снова получить свою эпоху? 26.07.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..