Широкий и узкий (иногда несложенный и сложенный, или широкий и высокий) — термины, используемые для описания двух различных представлений табличных данных . [1] [2]
Широкие или неструктурированные данные представлены с каждой отдельной переменной данных в отдельном столбце.
Человек | Возраст | Масса | Высота |
---|---|---|---|
Боб | 32 | 168 | 180 |
Элис | 24 | 150 | 175 |
Стив | 64 | 144 | 165 |
Узкие, сгруппированные или длинные данные представлены в одном столбце, содержащем все значения, и в другом столбце, содержащем контекст значения.
Человек | Переменная | Ценить |
---|---|---|
Боб | Возраст | 32 |
Боб | Масса | 168 |
Боб | Высота | 180 |
Элис | Возраст | 24 |
Элис | Масса | 150 |
Элис | Высота | 175 |
Стив | Возраст | 64 |
Стив | Масса | 144 |
Стив | Высота | 165 |
Зачастую это проще реализовать: добавление нового поля не требует никаких изменений в структуре таблицы, однако это может быть сложнее для понимания людьми.
Многие статистические и системы обработки данных имеют функции для преобразования между этими двумя представлениями, например, язык программирования R имеет несколько пакетов, таких как пакет tidyr. Пакет pandas в Python реализует эту операцию как функцию «melt», которая преобразует широкую таблицу в узкую. Процесс преобразования узкой таблицы в широкую таблицу обычно называется «поворотом» в контексте преобразований данных. Пакет python «pandas» предоставляет метод «поворота», который обеспечивает преобразование узкой таблицы в широкую.