Оливье добито, возвращаемся к серьёзным постам
😀
Сегодня хотелось бы поговорить про один из самых часто используемых типов данных в анализе данных:
Jason Voorhees JSON.
JSON (JavaScript Object Notation) — текстовый формат данных, основанный на
JavaScript.
Несмотря на происхождение из языка
JavaScript, этот тип данных активно используется и в других языках программирования (даже в SQL!).
Вот хорошая статья на habr про этот формат.
Данный формат имеет одну отличительную особенность: он характеризуется не просто набором значений, а набором пар
ключ-значение.
В этом
JSON очень похож на классический формат
словаря (
dictionary) в
Python, который тоже характеризуется парой ключ-значение.
📚
Однако существует несколько ключевых отличий:
-
JSON - это по-прежнему строка, несмотря на своё строение и наличие специфических символов
- Ключами
JSON могут быть только строки, а в словаре - любые
неизменяемые типы данных
- Ключи могут повторяться в
JSON, но не могут в словаре.
- И некоторые другие отличия, о которых можно прочитать в
этой статье.
Где же аналитики встречаются с этим форматом?🤔
1. Хранение данных в не-табличной форме.
Рассмотрим пример таблицы из трёх строк и двух колонок.
Пусть таблица содержит колонки "ID" и "ИМЯ", а также строки со следующими парами значений: (111, "Иван"), (112, "Виктор"), (113, "Ксения").
Чаще всего в базах данных таблицы хранятся непосредственно как таблицы.
Однако следует помнить, что таблица - это довольно громоздкий объект ввиду сложности его конфигурации: надо отдельно хранить структуру, индексы, заполнение и т.д.
Куда проще сохранить объект в форме (опустим различия между
json и
dict на этом этапе):
my_json = {"111":"Иван", "112":"Виктор", "113":"Ксения"}
Подобный объект весит меньше таблицы и может быть легко в таблицу преобразован в случае необходимости.
2. Работа с API
Зачастую аналитикам приходится подключаться к неким web-источникам для обновления информации.
Например:
- Скачивать погоду для прогноза количества водителей в такси.
🚕
- Скачивать всю картотеку аниме с их рейтингами, чтобы определить, какие из них нужны нашему онлайн-кинотеатру.
📺
- Определять время рассвета и заката в зависимости от координаты.
☀️
Подобная операция требует подключения к внешнему ресурсу и с вероятностью 99% возвращённая ресурсом информация будет именно в
JSON-формате. Далее уже с помощью
Python можно перевести её в удобную табличную форму.
В следующем посте я расскажу о том, какая связь между JSON и SQL, а также приведу еще несколько примеров его использования в мире анализа данных🙂
#data_analysis #аналитика #year25