CityCamp & Hack 2014: Использование Open Refine для очистки и...

18
Clean Up Your Dirty Data Using

Transcript of CityCamp & Hack 2014: Использование Open Refine для очистки и...

Clean  Up  Your  Dirty  Data  Using  

2  

OpenRefine  –  сервис  для  обработки  и  очистки  данных  

•  Получение  представления  о  больших  массивах  данных;  

•  Нахождение  ошибок  и  опечаток  

•  Переработка  данных  в  нужные  форматы.  

hGp://openrefine.org/  

3  

Кейс  1.  Общее  представление  о  массиве  данных  

Количество  строк   Названия  столбцов  Импорт,  экспорт  проектов  

Гос.  контракты  Ленинградской  области  за  март  и  май  2014  года  

4  

Построение  фасетов  

Значения,  встречающиеся  в  столбце  

Построение  фасетов  Сортировка  по  количеству  

5  

Изменение  наименований  и  удаление  столбцов  

Изменение  наименования  столбца   Удаление  столбца  

6  

Работа  с  датами  

Преобразование  текстовых  значений  в  даты   Исследование  дат  

Пример:  даты  публикации  контрактов  

Выходные   Время  публикации  

Март   Май  

7  

Работа  с  персональными  данными  

Исходные  столбцы  

Пример:  Ф.И.О.  генеральных  директоров  

Ошибки  в  заполнении  данных  

Построение  фасетов  

Объединение  столбцов  

value  +  "  "  +  cells["First  Name"].value  +  "  "  +  cells["Middle  Name"].value  (Объединяем  столбцы  с  фамилией,  именем  и  отчеством  в  один  столбец)  

Количество  вариантов  

8  

Работа  с  персональными  данными.  Исправляем  ошибки  

Массовое  редактирование  ячеек  

Кластеризация  данных  

9  

Работа  с  номерами  телефонов  

Фасеты  и  кластеризация  (fingerprint)  

2206  вариантов  

Кластеризация  (ngram-­‐fingerprint)  

2170  вариантов  

10  

Кейс  2.  Преобразовываем  текстовые  данные  в  таблицу  

Пример  данных:   Шаг  1.  Создаем  новый  проект  

Шаг  2.  Делим  данные  на  несколько  столбцов  

В  качестве  разделителя  используем:  ‘  (‘  

11  

Кейс  2.  Преобразовываем  текстовые  данные  в  таблицу  

Шаг  3.  Удаляем  лишние  символы  

Делим  вторую  колонку  на  две,  используя  в  качестве  разделителя:  ‘)  ’  

Выбираем  меню  столбца,  содержащего  лишние  символы  

Вводим  нужную  функцию  

replace(value,  /\d+(.  )/,  "")  

С  помощью  функции  replace  мы  заменяем  выражение  “/\d+(.  )”  на  выражение:  “”  

Выражение  “/\d+(.  )”  означает  последовательность  символов:  «любая  цифра  с  точкой  и  пробелом»,  например  «1.  »  или  «2.  ».  Выражение  “”  означает  отсутствие  символов.  Результат:  из  требуемого  столбца  удаляются  все  цифры  с  точками  и  пробелами  

Для  составления  выражений  читаем  раздел  Help,  синтаксис  языка  GREL  и  регулярные  выражения.  

12  

Кейс  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.  Экспортируем  результат  

13  

Кейс  3.  Преобразовываем  данные  бюджета  

•  Большое  количество  строк,  не  содержащих  новой  информации;  

•  Формат  данных  не  удобен  как  для  изучения  пользователями,  так  и  для  автоматизированной  обработки  

Исходные  данные:  

14  

Кейс  3.  Преобразовываем  данные  бюджета  

Результат:  

•  Массив  данных  не  содержит  лишней  и  дублирующейся  информации;  •  Формат  данных  совместим  с  форматом  сервиса  OpenSpending;  •  Данные  могут  быть  подвергнуты  автоматизированной  обработке;  •  Данные  могут  быть  изучены  (самостоятельно  пользователем  или  с  

помощью  сервисов  визуализации)  без  предварительной  обработки.  

15  

Кейс  3.  Преобразовываем  данные  бюджета  

Шаг  1.  Импорт  файла  

-­‐  Выбираем  название  проекта;  

-­‐  Устанавливаем  количество  верхних  строк,  которые  не  должны  быть  импортированы;  

-­‐  Выбираем  строки  для  названия  столбцов.    

16  

Кейс  3.  Преобразовываем  данные  бюджета  

Шаг  2.  Удаление  лишних  строк,  использование  star  

17  

Кейс  3.  Преобразовываем  данные  бюджета  

Шаг  3.  Добавляем  столбцы  

Шаг  4.  Массовое  изменение  ячеек  

Спасибо  за  внимание!  Ольга  Пархимович  

[email protected]  @OpenDataRu,  @k0shk