Как нормализовать нерегулярные значения данных

Из таблицы PHP я получаю значения, графически представленные. Однако некоторые из полученных данных являются «поврежденными» или неверными, что дает нечувствительное графическое представление.

Часы (ось y) – это накопленные часы, как и одометр автомобиля, за исключением часов, а ось x – соответствующие даты. Логично, что завтрашние часы будут больше или равны часам сегодняшнего дня, это должно быть либо плоской линией, либо увеличиваться. Но, увы, это результат:

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

Я бы хотел нормализовать эти данные, чтобы иметь несколько более «правильное» представление, которое выглядит примерно так:

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

Я читал некоторую информацию о нормализации данных ( процесс нормализации базы данных , нормализация набора данных с нерегулярными интервалами в Python , нормализация данных и стандартизация ), но я не могу понять, как реально нормализовать данные . У меня либо действительно есть светловолосый момент, либо я просто не понимаю.

В: Как я могу нормализовать этот набор данных с помощью Bash – какие будут шаги – я был бы благодарен за псевдокод или описание связанных шагов.

One Solution collect form web for “Как нормализовать нерегулярные значения данных”

Ваша иллюстрация действительно не соответствует вашим словам. Если вы имеете в виду то, что говорите (и если я правильно понимаю ваши слова), и если у вас есть список значений «Y» (т. Е. Количество часов от 0 до 2400), которое вы хотите нормализовать, вы может делать то, что вы хотите, с помощью этого awk кода:

 awk ' NR==1 { prev_good = $1 } { data = $1 if (data < prev_good) { count++ next } if (count > 0) { count++ for (i = 1; i < count; i++) { print prev_good + (data-prev_good) * i / count } count = 0 } print data prev_good = data }' 

Предполагается, что первая точка данных действительна ( NR==1 { prev_good = $1 } ). После этого, если точка данных меньше предыдущей хорошей стоимости ( prev_good , которая является наибольшим значением, полученным до сих пор), считайте ее недействительной: пропустите ее ( next ) и подсчитайте пропущенные пункты. Когда вы получаете хорошее значение, count тестов – если оно положительное, это означает, что мы пропустили некоторые данные, поэтому генерируем много данных, линейно интерполируя между последним хорошим значением и текущим значением. Затем напечатайте новое действительное значение.

Если ваш вход содержит «X» и «Y» (дата и часы), это становится немного более сложным, особенно если интервалы «X» не являются однородными.

Вы могли бы сделать это как чистый сценарий оболочки, но это было бы глупо. awk , однако, кажется хорошим инструментом для работы.

  • Как вернуть код выхода? Ошибка: return: Чтение: требуется числовой аргумент
  • Автоматический ввод пароля ssh с терминала Busybox
  • поиск файла внутри скрипта
  • Как объединить входы xarg с большим количеством аргументов?
  • Скрипт для удаления определенных элементов span из файла HTML
  • Сценарий оболочки для перемещения файлов, если определенный процент строк содержит определенную строку
  • сценарий оболочки для автоматического уничтожения процессов, соответствующих определенным критериям
  • bashscript для нажатия клавиши со стрелкой вправо
  • Поиск, подсчет и сортировка всех аудиофайлов. Файлы ALAC (M4A)
  • автоматическое удаление записей меню fluxbox
  • Как извлечь второй и третий столбцы из файла CSV с помощью awk?
  • Interesting Posts

    Почему отправка электронной почты с помощью mutt работает в gmail, но не в Evernote?

    Пакетное создание раздела, затем узла раздела; провал доступа

    Могу ли я создавать, устанавливать разрешения и записывать в файл с помощью одной команды Unix?

    Почему оболочка не заканчивается при нажатии Ctrl + C на терминале?

    Можем ли мы настраивать разные оболочки для разных пользователей в одном дистрибутиве Linux / Unix?

    Вам нужно переустановить GRUB2, но мне нужно, чтобы я загрузился в загружаемую систему!

    В то время как цикл занимает больше времени для завершения

    согласно разрешению root на www-data

    Найти, если какая-либо строка файла является подмножеством данных в другом файле

    Откуда берется размер файла, т. Е. Как ls и cp знают размер файла?

    Как отсортировать XML-элементы на месте?

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

    политика apt-cache gimp libgegl-0.2-0

    Сделать dnsmasq не изменением resolv.conf

    Где живут звуковые драйверы?

    Linux и Unix - лучшая ОС в мире.