citycamp & hack 2014: Использование open refine для очистки и...

18
Clean Up Your Dirty Data Using

Upload: citycamp

Post on 31-Oct-2014

106 views

Category:

Government & Nonprofit


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

Clean  Up  Your  Dirty  Data  Using  

Page 2: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

2  

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

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

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

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

hGp://openrefine.org/  

Page 3: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

3  

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

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

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

Page 4: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

4  

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

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

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

Page 5: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

5  

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

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

Page 6: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

6  

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

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

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

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

Март   Май  

Page 7: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

7  

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

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

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

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

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

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

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

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

Page 8: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

8  

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

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

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

Page 9: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

9  

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

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

2206  вариантов  

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

2170  вариантов  

Page 10: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

10  

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

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

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

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

Page 11: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

11  

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

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

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

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

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

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

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

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

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

Page 12: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

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

Page 13: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

13  

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

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

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

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

Page 14: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

14  

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

Результат:  

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

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

Page 15: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

15  

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

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

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

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

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

Page 16: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

16  

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

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

Page 17: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

17  

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

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

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

Page 18: CityCamp & Hack 2014: Использование Open Refine для очистки и преобразования данных

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

[email protected]  @OpenDataRu,  @k0shk