Ответы пользователя по тегу Обработка данных
  • Какие существуют визуальные обработчики данных?

    @rPman
    Не нужно делать интерфейс только потому что 'все так делают'.

    Исходить нужно исключительно из задачи! Делать нужно ровно столько сколько нужно и не больше не меньше.

    p.s. Когда то я работал активно с данными, конечно экселя могло бы быть достаточно но он неудобный и медленный
    Обычно нужен для конвертера следующий UI (писался давно, не очень использовался и затерялся):
    * Настройка источника данных (у вас это кнопка/поле - место откуда брать excel источник, плюс к примеру имя/номер листа)
    Показать начальное содержимое листа при выборе, минимальную статистику (количество строк, колонок и т.п.)
    * Список необходимых колонок с указанием, какие колонки чем являются
    При выборе колонки источника показывать список вариантов его значений (не обязательно все, первые десятки, но бегло дает представление о значении поля)
    * Фильтры (пропустить пустые строки, убрать дубликаты и прочее прочее) - не перебарщивай, очень редко задачи повторяются, все объять невозможно, можно предложить поле для ввода кода (использовать в eval), если источник база данных - можно запилить какой то минимальный конструктор sql (без ui, хотя список таблиц и название колонок в базе уже круто, плюс поиск по подстроке по данным во всех таблицах - удобная вещь когда ковыряешь чужую базу, лучше это делать в специализированных программах, помню пользовался dbforge studio community version)
    * настройка назначения вывода данных (имя файла)
    * настройка типа данных в файле вывода (выбор из списка захардкоженных в программу, если актуально само собой)

    Еще момент - интерфейс должен быть исключительно интерфейсом к консольной программе, генерируя для нее строку/файлы настроек, чтобы можно было их использовать к примеру для автоматических регулярных запусков без запуска интерфейса (я генерирую в таких случаях батник с запуском программы с нужными ключами)
    Ответ написан
  • Как рассчитать средние посуточные данные с учетом високосного дня?

    @rPman
    Дико интересный вопрос, как вообще в анализе данных с этим справляются?

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

    Еще вариант, что такое усреднение по суткам? это значит сложить значения год назад, два назад, три назад... вот и берите тот день, который был год назад, воспользовавшись получается данными в один и тот же день в прошлом для вычисления среднего в разные дни (так можно делать для min/max/average методов, а вот складывать нельзя).
    Ответ написан
  • Альтернативы Google Sheets для обработки больших объёмов информации?

    @rPman
    Есть майкрософтовский облачный office.live.com попробуйте его, интерфейс почти как эксель.

    p.s. что же у вас такое ложит гугловские документы? Просто документ на сотни тысяч записей не должен торморзить, но вот сложные формулы, так такие и для маленьких документов можно придумать тормозными.

    какие действия вы делаете с данными? когда то для работы с данными майкрософт предлагало ms access (фактически база данных с интерфейсом формочек и запросов), можно было открывать в локальной сети одновременно несколькими пользователями, не уверен, на сколько оно поддерживается сейчас, как продукт оно существует, несколько лет назад, когда вышел метростайл, оно выглядело заброшенным (то и дело выскакивали формы и интерфейс из 2000-го)
    Ответ написан
  • Есть ли какие-нибудь методы для борьбы с отсутствующими данными?

    @rPman
    Решение в лоб, так как признаков у вас мало, ищите по отдельности для всех комбинаций присутствующих признаков (т.е грубо говоря если например у вас 6 признаков и в данных могут отсутствовать одновременно по 1 и 2 признака, то у делите выборку на 20 частей по всем возможным комбинациям пропущенных признаков и для каждой ищите свой классификатор).

    Иногда, если у признаков можно подобрать такое значение, когда их влияние на результат почти нулевое и главное в выборке эти значения не встречаются, то можно выставлять для неизвестных значений такие вырожденные (например значение - расстояние до воздействуемого объекта, делайте его очень большим или наоборот нулевым). Так как вы классифицируете данные а не получаете какую то оценку в виде значения, это может быть оправдано.
    Ответ написан
  • Как обработать столкновение объектов?

    @rPman
    Судя по акценту на любые конфигурации объектов вам нужна корректная обработка даже таких случаев, когда по координатно объекты проходят друг сквозь друга, но из-за особенностей их конфигурационных матриц они не сталкиваются.
    Универсальное решение — только хранение дополнительных матриц кешей, уменьшенного масштаба объектов. Количество и конфигурация кешей зависит от сложности этих матриц. На один объект может быть несколько матриц, последовательного уменьшения масштаба (например с коэффициентом 4 — 128x128 -> 32x32 -> 8x8 -> 2x2), тогда при обнаружени столкновения прямоугольных областей объектов последовательно проверяются пересечения точек сначала на матрицах конфигураций объектов с низким разрешением, при обнаружении пересечения повторяется проверка для соответствующих точек уже из матрицы с более высоким разрешением.

    Алгоритм очень эффективный, особенно для сложных объектов, занимающих мало место в матрице.

    p.s. еще неплохим подспорьем может оказаться дробление объекта на составляющие (т.е. представлять объект сразу несколькими объектами, параметры которых вычислять тут же, даже не требуется физически хранить и двигать эти объекты синхронно)
    Ответ написан
  • события для данных в базе, какие есть способы?

    @rPman
    1. необходимо любым доступным способом отлавливать появление новых записей в базе (так или иначе это можно сделать либо в приложении, которое пополняет базу, либо тригером, совершающим действие 'снаружи', если ничего удачного БД не позволяет… периодически (в 2 раза чаще чем самый короткий интервал) делать максимально простой запрос — например текущее значение сиквенса в табличке
    1. пишется демон (1 процесс), который должен ловить событие от появления записи в БД и вычислять время срабатывания ближайшего таймера (простейший запрос к табличке, сортировка по времени срабатывания таймера — лимит 1) и ждать либо срабатывания таймера либо следующего события добавления записи
    Ответ написан
  • Структура таблиц БД: хранение списков значений наряду с обычными значениями

    @rPman
    Описанное вами — это развитие реляционной модели в сетевую… в mysql как я знаю средств для этого нет, в postgresql есть поддержка массивов, только производительность не ля всех случаев оптимальна.

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

    Так же не стоит закрывать глаза штатную реализацию списков второй таблицей M-1.

    И конечно же никто не мешает совместить оба подхода (хранить данные в 2 таблицах и кешировать дополнительными полями в главной, например информация о количестве элементов в списке, значение первого элемента,..)
    Ответ написан