Clean Up Your Dirty Data Using
2
OpenRefine – сервис для обработки и очистки данных
• Получение
представления о
больших
массивах данных;
• Нахождение
ошибок и
опечаток
• Переработка
данных в нужные
форматы.
http://openrefine.org/
3
План презентации
1. Общее представление о массиве данных и очистка данных
2. Создаем машиночитаемые данные из текста
3. Преобразовываем формат данных
4
Кейс 1. Общее представление о массиве данных
Количество строк Названия столбцов
Импорт, экспорт проектов
Гос. контракты Ленинградской области за март и май 2014 года
5
Построение фасетов
Значения, встречающиеся в столбце
Построение фасетов
Сортировка по количеству
6
Изменение наименований и удаление столбцов
Изменение наименования столбца Удаление столбца
7
Работа с датами
Преобразование текстовых значений в даты Исследование дат
Пример: даты публикации контрактов
Выходные Время
публикации
Март Май
8
Работа с персональными данными
Исходные столбцы
Пример: Ф.И.О. генеральных директоров
Ошибки в заполнении данных
Построение фасетов
Объединение столбцов
value + " " + cells["First Name"].value + " " + cells["Middle Name"].value
(Объединяем столбцы с фамилией, именем и отчеством в один столбец)
Количество
вариантов
9
Работа с персональными данными. Исправляем ошибки
Массовое редактирование ячеек
Кластеризация данных
10
Работа с номерами телефонов
Фасеты и кластеризация (fingerprint)
2206 вариантов
Кластеризация (ngram-fingerprint)
2170 вариантов
11
Кластеризация данных (находим дубликаты)
Фасеты и кластеризация (fingerprint) 604 -> 483 варианта
12
Кластеризация данных (находим дубликаты)
Фасеты и кластеризация (ngram-fingerprint) 483 -> 468 варианта
13
Кластеризация данных (находим дубликаты)
Фасеты и кластеризация (fingerprint) 2737 -> 2676 варианта
14
Кластеризация данных (находим дубликаты)
Фасеты и кластеризация (ngram-fingerprint) 2676 -> 2432 варианта
15
Кейс 2. Преобразовываем текстовые данные в таблицу
Пример данных: Шаг 1. Создаем новый проект
Шаг 2. Делим данные на несколько столбцов
В качестве разделителя используем: ‘ (‘
16
Кейс 2. Преобразовываем текстовые данные в таблицу
Шаг 3. Удаляем лишние символы
Делим вторую колонку на две,
используя в качестве разделителя: ‘) ’
Выбираем меню столбца, содержащего
лишние символы
Вводим нужную функцию
replace(value, /d+(. )/, "")
С помощью функции replace
мы заменяем выражение
“/d+(. )” на выражение: “”
Выражение “/d+(. )” означает
последовательность символов:
«любая цифра с точкой и
пробелом», например «1. » или
«2. ».
Выражение “” означает
отсутствие символов.
Результат: из требуемого
столбца удаляются все цифры с
точками и пробелами
Для составления выражений читаем
раздел Help, синтаксис языка GREL и
регулярные выражения.
17
Кейс 2. Преобразовываем текстовые данные в таблицу
Шаг 4. Переименовываем столбцы
Меню колонки:
Edit column > Rename column
replace(value, " ", " ")
Шаг 5. Удаляем двойные пробелы (при необходимости)
Меню колонки:
Edit cells > Transform
Шаг 6. Добавляем порядковые номера
строк и меняем порядок столбцов
Меню колонки:
Edit column > Add column based on this column row.index+1
Меню колонки:
Edit column > Move column to beginning
Шаг 7. Экспортируем
результат
18
Кейс 3. Преобразовываем данные бюджета
• Большое количество
строк, не содержащих
новой информации;
• Формат данных не удобен
как для изучения
пользователями, так и для
автоматизированной
обработки
Исходные данные:
19
Кейс 3. Преобразовываем данные бюджета
Результат:
• Массив данных не содержит лишней и дублирующейся информации;
• Формат данных совместим с форматом сервиса OpenSpending;
• Данные могут быть подвергнуты автоматизированной обработке;
• Данные могут быть изучены (самостоятельно пользователем или с
помощью сервисов визуализации) без предварительной обработки.
20
Кейс 3. Преобразовываем данные бюджета
Шаг 1. Импорт файла
- Выбираем название
проекта;
- Устанавливаем
количество верхних
строк, которые не
должны быть
импортированы;
- Выбираем строки
для названия
столбцов.
21
Кейс 3. Преобразовываем данные бюджета
Шаг 2. Удаление лишних строк, использование star
22
Кейс 3. Преобразовываем данные бюджета
Шаг 3. Добавляем столбцы
Шаг 4. Массовое изменение ячеек
Спасибо за внимание!
Ольга Пархимович
olya.parkhimovich@gmail.com
@OpenDataRu, @k0shk

Использование Open refine для работы с открытыми бюджетами и гос. контрактами

  • 1.
    Clean Up YourDirty Data Using
  • 2.
    2 OpenRefine – сервисдля обработки и очистки данных • Получение представления о больших массивах данных; • Нахождение ошибок и опечаток • Переработка данных в нужные форматы. http://openrefine.org/
  • 3.
    3 План презентации 1. Общеепредставление о массиве данных и очистка данных 2. Создаем машиночитаемые данные из текста 3. Преобразовываем формат данных
  • 4.
    4 Кейс 1. Общеепредставление о массиве данных Количество строк Названия столбцов Импорт, экспорт проектов Гос. контракты Ленинградской области за март и май 2014 года
  • 5.
    5 Построение фасетов Значения, встречающиесяв столбце Построение фасетов Сортировка по количеству
  • 6.
    6 Изменение наименований иудаление столбцов Изменение наименования столбца Удаление столбца
  • 7.
    7 Работа с датами Преобразованиетекстовых значений в даты Исследование дат Пример: даты публикации контрактов Выходные Время публикации Март Май
  • 8.
    8 Работа с персональнымиданными Исходные столбцы Пример: Ф.И.О. генеральных директоров Ошибки в заполнении данных Построение фасетов Объединение столбцов value + " " + cells["First Name"].value + " " + cells["Middle Name"].value (Объединяем столбцы с фамилией, именем и отчеством в один столбец) Количество вариантов
  • 9.
    9 Работа с персональнымиданными. Исправляем ошибки Массовое редактирование ячеек Кластеризация данных
  • 10.
    10 Работа с номерамителефонов Фасеты и кластеризация (fingerprint) 2206 вариантов Кластеризация (ngram-fingerprint) 2170 вариантов
  • 11.
    11 Кластеризация данных (находимдубликаты) Фасеты и кластеризация (fingerprint) 604 -> 483 варианта
  • 12.
    12 Кластеризация данных (находимдубликаты) Фасеты и кластеризация (ngram-fingerprint) 483 -> 468 варианта
  • 13.
    13 Кластеризация данных (находимдубликаты) Фасеты и кластеризация (fingerprint) 2737 -> 2676 варианта
  • 14.
    14 Кластеризация данных (находимдубликаты) Фасеты и кластеризация (ngram-fingerprint) 2676 -> 2432 варианта
  • 15.
    15 Кейс 2. Преобразовываемтекстовые данные в таблицу Пример данных: Шаг 1. Создаем новый проект Шаг 2. Делим данные на несколько столбцов В качестве разделителя используем: ‘ (‘
  • 16.
    16 Кейс 2. Преобразовываемтекстовые данные в таблицу Шаг 3. Удаляем лишние символы Делим вторую колонку на две, используя в качестве разделителя: ‘) ’ Выбираем меню столбца, содержащего лишние символы Вводим нужную функцию replace(value, /d+(. )/, "") С помощью функции replace мы заменяем выражение “/d+(. )” на выражение: “” Выражение “/d+(. )” означает последовательность символов: «любая цифра с точкой и пробелом», например «1. » или «2. ». Выражение “” означает отсутствие символов. Результат: из требуемого столбца удаляются все цифры с точками и пробелами Для составления выражений читаем раздел Help, синтаксис языка GREL и регулярные выражения.
  • 17.
    17 Кейс 2. Преобразовываемтекстовые данные в таблицу Шаг 4. Переименовываем столбцы Меню колонки: Edit column > Rename column replace(value, " ", " ") Шаг 5. Удаляем двойные пробелы (при необходимости) Меню колонки: Edit cells > Transform Шаг 6. Добавляем порядковые номера строк и меняем порядок столбцов Меню колонки: Edit column > Add column based on this column row.index+1 Меню колонки: Edit column > Move column to beginning Шаг 7. Экспортируем результат
  • 18.
    18 Кейс 3. Преобразовываемданные бюджета • Большое количество строк, не содержащих новой информации; • Формат данных не удобен как для изучения пользователями, так и для автоматизированной обработки Исходные данные:
  • 19.
    19 Кейс 3. Преобразовываемданные бюджета Результат: • Массив данных не содержит лишней и дублирующейся информации; • Формат данных совместим с форматом сервиса OpenSpending; • Данные могут быть подвергнуты автоматизированной обработке; • Данные могут быть изучены (самостоятельно пользователем или с помощью сервисов визуализации) без предварительной обработки.
  • 20.
    20 Кейс 3. Преобразовываемданные бюджета Шаг 1. Импорт файла - Выбираем название проекта; - Устанавливаем количество верхних строк, которые не должны быть импортированы; - Выбираем строки для названия столбцов.
  • 21.
    21 Кейс 3. Преобразовываемданные бюджета Шаг 2. Удаление лишних строк, использование star
  • 22.
    22 Кейс 3. Преобразовываемданные бюджета Шаг 3. Добавляем столбцы Шаг 4. Массовое изменение ячеек
  • 23.
    Спасибо за внимание! ОльгаПархимович olya.parkhimovich@gmail.com @OpenDataRu, @k0shk