4Июн

Категория с это: Все категории водительских прав 2020 года с расшифровкой

Содержание

Категоризация — Гуманитарный портал

Категоризация — это метод отнесения познаваемого объекта к некоторому классу, в качестве которого выступают категории (см. Категория), выражающие наиболее существенные отношения тех или иных областей действительности, знания и деятельности. Категоризация может охватывать не только материальные предметы, но и сенсорные и перцептивные образцы, социальные стереотипы, эталоны поведения, обобщения в целом, несущие в себе совокупный общественный опыт.

Наиболее продуктивным подходом является рассмотрение проблемы категоризации в контексте культурно-исторического и социального опыта, её понимание как фундаментальной составляющей восприятия, познания в целом, осуществляемого в контексте смыслополагающей и коммуникационной деятельности. Наряду с опытом естествознания особенно значим опыт гуманитарных наук, которые открывают иные когнитивные структуры в их соотношении с языком, психологией и с телесностью субъекта, а также базовые способы упорядочивания и классификации (см.  Классификация) многообразных форм знания на всех уровнях проявления когнитивной способности человека.

Термин «категоризация» получил широкое распространение и применяется к самым различным видам деятельности и к человеческому опыту в целом, фиксируя одно из самых фундаментальных его свойств — когнитивные способности, в первую очередь классифицирования, распределения по группам, классам, разрядам, типам, упорядочивающие воспринимаемый и познаваемый мир и позволяющие предвидеть и предсказывать объекты и другие сущности реального и воображаемого мира. При всём разнообразии способов категоризации — психологическом, логическом, математическом и других — всегда существует главная проблема: на основании каких критериев осуществляется эта операция и какие категории являются главными, определяющими. Её решение не сводится к классификации на основе понятий и терминов языка, но варьируется и приобретает специфику в конкретных областях, разрабатывающих свои теории категоризации и открывающих множество особенностей этой фундаментальной проблемы.

В психологии категоризация рассматривается, главным образом, в контексте теории восприятия (Дж. Брунер) как базовый акт, тесно связанный с языком, сохраняющий социокультурный опыт и позволяющий расширять пределы непосредственно получаемой информации. Соответственно, категоризация является свойством познания вообще, поскольку воспринимаемый объект как единичное обретает предметный смысл только через соотнесение с некоторыми общими категориями, иначе он оказался бы «погребённым в безмолвии индивидуального опыта».

Именно с умением сопоставлять признаки объекта с эталонной системой категорий Брунер связывает возможность адекватного отражения мира в восприятии и подтверждает это примерами сенсорной категоризации, упорядоченной по шкалам. Верность сенсорной оценки зависит от предварительного усвоения категорий и процесса категоризации. Чем адекватнее системы категорий, построенные для кодирования среды, тем больше возможностей предсказания новых свойств и объектов. Включённость восприятия в деятельность придаёт познаваемым предметам и отношениям социокультурные значения; например, естественное время обретает черты социального, а в идеальном плане становится «возможным передвигаться» во времени в различных направлениях. Разъединение действительности на настоящее, прошлое и будущее предстаёт как отделение их от субъекта, и тем самым — как «категоризация жизни на события, ситуации» посредством чувственных обобщений при решении чувственно-практических проблем. В целом происходит концептуализация действительности — создание концептуальных, категориальных схем с сохранением первичных оценок, тесно связанных с субъектом. Они имеют силу только в рамках данного контекста, события, ситуации и соответственно не являются рациональными теоретическими абстракциями.

Результаты, полученные психологией, стали основанием для исследования категоризации во многих других областях. Обращение к этой проблематике стимулировалось двумя фундаментальными процессами: «лингвистическим поворотом» в философии (см.  Философия) и в гуманитарных формах познания, а также переосмыслением самого языка как объекта изучения, существующего в единстве познания (когниции) и коммуникации. Каким образом бесконечное разнообразие действительности охватывается конечным числом языковых форм? Этот вопрос стал одним из центральных в когнитивной лингвистике, в частности во вновь складывающейся прототипической семантике, где поиск ответа опирается на два допущения:

  1. В основе категорий лежат не особенности конкретного языка, но определённая модель знания.
  2. Категории обладают прототипической структурой — определённой внутренней организацией, включающей ядро и периферию.

Наличие такого ядра позволяет образовываться категориям не только по полному совпадению свойств, но и по той или иной степени их сходства или подобия. Между членами категорий нет равенства, но есть мотивированная связь друг с другом, и от ядерных смыслов можно перейти к периферийным путём умозаключений (Дж.  Остин).

Категория возникает, существует и развивается, ориентируясь на лучший образец (прототип) и устанавливая определённую иерархию признаков, однако возможны и ситуации, близкие обыденному сознанию, когда господствуют отношения по типу «семейного сходства» (Л. Витгенштейн). В отличие от понятий, созданных в системе отношения «род — вид» по правилам

формальной логики (см. Логика формальная) и обобщающих существенные свойства и отношения, при создании «естественных» категорий образуются категории-концепты. Концептом называют некоторую целостную содержательную, оперативную единицу, своего рода образ, гештальт (Дж. Лакофф), «квант структурированного знания» (Е. С. Кубрякова), элементы которого вычленяются в зависимости от разных задач. Концепт может быть репрезентирован представлением, схемой, понятием, фреймом, сценарием и так далее.

Понимание языка как единства когниции и коммуникации, выражаемое, в частности, через фундаментальный процесс категоризации, может стать предпосылкой и основанием для становления и развития методологии наук о духе и наук о культуре (см.  Культура). Одновременно опыт когнитивной лингвистики, исследующей фундаментальную операцию категоризации как универсальную во всех видах познания, даёт новые возможности для более глубокого понимания, в том числе в философии, природы категорий, универсалий вообще, а также для обогащения и развития эпистемологии с опорой на гуманитарные науки.

ГОСТ, ТУ и категории мясных изделий Справочник покупателя

В чем отличие ГОСТ и ТУ

  ГОСТ-это государственные стандарты приготовления продукции, наследие советских времен. Они разрабатывались на базе технологий, ингредиентов, оборудования того времени. Сейчас многие колбасы и мясные продукты выпускаются по старым (советским) ГОСТам. На вареные колбасы разработан новый ГОСТ от 2003 года. С тех времен мясоперерабатывающая отрасль развивалась и развивается гигантскими темпами. Появляются новые технологии обработки мяса, выработки специй, копчения, не говоря уже о том, что технический прогресс подарил производителям новую технику и оборудование, заменяющую часть ручного труда на мясном производстве. ТУ или Технические Условия - это те стандарты, которые внедрены в практику мясопереработчиков после 1986 г.

  На новый вид продукта, на который еще не существует ГОСТа, изготовитель сам разрабатывает ТУ. Таким образом, ТУ-технические условия, разработанные по решению изготовителя в соответствии со своими требованиями к производственным процессам и рецептурам. ТУ утверждаются изготовителем и согласовываются с Органом по сертификации. ТУ базируются на требованиях ГОСТов и не должны им противоречить.

  Процедура согласования ТУ очень сложна и долговременна, длится от 2-х до 6-ти месяцев. В процессе согласования автору ТУ необходимо проходить несколько государственных регистрационных и проверяющих инстанций, которые на основании комплексных микробиологических, санитарно-химических исследований могут выдать санитарно-эпидемиологическое заключение, сертификат, дающий право производить данный продукт. ТУ - такой же жесткий стандарт для мясопереработчиков, как и ГОСТ.


Категории колбасных изделий.

  С 1.01.13 вступают в силу изменения в существующем  ГОСТе, что означает исчезновение понятие «сорт продукта» в таких группах колбасных изделий как: сосиски, сардельки и шпикачки, вареные и полукопченые колбасы, ветчины и некоторые виды копченостей.

  Теперь колбасные изделия будут классифицироваться по категориям, что и будет указано на упаковке продукта вместо «сорта»:

Продукт категории А содержит массовую долю мышечной ткани 80% и более;

Продукт категории Б содержит массовую долю мышечной ткани от 60% до 80%;

Продукт категории В содержит массовую долю мышечной ткани от 40% до 60% ;

Продукт категории Г содержит массовую долю мышечной ткани от 20% до 40%;

Продукт категории Д содержит массовую долю мышечной ткани менее 20% .

Как определяется категория продукта?

  Каждый продукт изготавливается из определенного вида мяса. Разные виды мяса имеют в своем составе разные массовые доли мышечной ткани. Ниже, в таблице, приведены эти данные в процентах.

Информация к сведению.

  Доработаны ГОСТы на ветчины «В оболочке» и «Для завтрака».
Введен новый ГОСТ Р 53643-2009, в замен старого ГОСТ 18236-85. Основное отличие, что теперь у этих ветчин нет сортности, но появилась категория Б, а также срок хранения в искусственной оболочке уменьшился с 60 суток до 30 суток. При всех этих изменениях, рецептура и сырьевой состав остались неизменным.

  Доработан ГОСТ на колбасу полукопченую «Краковскую».
Введен новый ГОСТ Р 53588-2009, в замен старого ГОСТ Р 16351-86. Основное отличие, что теперь у этой колбасы нет сортности, но появилась категория Б. При всех этих изменениях, рецептура и сырьевой состав остался неизменным.

  Введен новый ГОСТ на мясные консервы.
Разработан новый ГОСТ Р 54033-2010 на консервы мясные Говядина тушеная высший сорт, первый сорт, а также «Баранина тушеная» и «Конина тушеная» Основное отличие от ГОСТ Р 5284-84 – Срок хранения в алюминиевой банке стал 5 лет.

  Этот же ГОСТ Р 54033-2010 действует на новые виды мясной консервации «Свинина тушеная» высший сорт и «Свинина тушеная» первый сорт.


смотрите также: Классификация полуфабрикатов

что это такое, как определить и на что влияет

Государству требуется держать под контролем состояние своих земель, не допуская повальной застройки или разрушения заповедных, водоохранных зон. Для этого в законе введено понятие категории земель и видов разрешенного использования для каждого типа участков. Статус земли важно учитывать при покупке дома или участка под застройку.

Некоторые думают, что, когда они покупают жилье в строящемся коттеджном поселке, то автоматически берут участок с нужным статусом земли и видом разрешенного использования. Но это далеко не всегда так. Распространен вид мошенничества, когда компании предлагают постройку коттеджей на землях сельскохозяйственного назначения. Это значит, что проект вряд ли будет воплощен и вкладываться в него не стоит, даже если организаторы обещают сменить категорию участка в будущем.

Вид земли — что это

Что такое категория земельного участка? Под этим термином понимается описание свойств территории и правовой режим ее использования, который контролируется на законодательном уровне.

Всего категорий земельных участков семь. Некоторые из них назначаются в зависимости от того, что находится на территории. Так, если участок занят лесом или рекой, его относят к землям лесного или водного фонда соответственно. Другие категории определяются планами государства на территории. Если задумано отдать их под поля, то категория земельного участка будет сельскохозяйственной, а если на этом месте будет завод — промышленной.

Смена категории земли возможна, но это скорее исключение, чем правило. Государство очень не любит менять тип участка.

Виды земель и их использование

Согласно земельному кодексу РФ существуют следующие категории земельного участка и виды разрешенного использования территорий:

  1. Населенный пункт. В них земли предназначены для строительства жилых домов, дорог, объектов инфраструктуры. На таких территориях возможно возведение индивидуального жилья.
  2. Сельскохозяйственная. Эти территории обычно расположены вне населенных пунктов и удалены от них. Они предназначены для выращивания сельскохозяйственных и кормовых культур или выпаса скота. Также на таких территориях возможно возведение вспомогательных построек для хранения урожая, содержания скота, первичной переработки полученной продукции.
  3. Промышленная. Земля этой категории отведена под возведение фабрик, электростанций, крупных транспортных развязок, объектов космической программы, оборонные предприятия и т. д. Виды разрешенного использования земель промышленного класса весьма разнообразны, но их объединяет одно: за всеми территориями ведется строгий контроль. Он необходим, чтобы не допустить сильного загрязнения земли.
  4. Особо охраняемая. К этой категории земли относятся различные заповедники, национальные парки, заказники. Какое-либо производство, а часто и строительство, на этих землях запрещено. Исключения возможны для редких жилых зданий и построек, предназначенных для исследования зон (например, база отдыха, куда могут приезжать ученые). Любое строительство ведется только с разрешения контролирующих органов.
  5. Лесная. Земли лесного фонда занимают большую часть территории РФ. К ним относятся не только собственно леса, но и болота, лесные дороги, просеки.
  6. Водная. Земля водного фонда включает собственно водоемы и прибрежные зоны, где часто запрещено строительство. К ним также относятся водные просторы, полученные искусственно: участки рукотворных водоемов, объектов водного хозяйства, гидротехнических сооружений. Ледники тоже относятся к водному фонду.
  7. Запас. Государственный запас — это участки, которые не относятся ни к одной из перечисленных категорий. Они находятся в собственности государства и могут быть переданы юридическим или физическим лицам только после смены категории.

Узнать категорию разрешенного использования земельного участка можно, обратившись в Государственный кадастр недвижимости, изучив документы о регистрации прав, акты или договоры, на основании которых физическое или юридическое лицо использует землю.

Категория участка и вид разрешенного использования — разные вещи?

Категория земли — это понятие, которое включает в себя вид разрешенного использования. В зависимости от категорийной принадлежности участка виды доступного применения его могут отличаться. К примеру, участки СНТ относятся к категории сельскохозяйственных, а вот основной вид разрешенного использования земель такого типа — ведение садоводства и огородничества.

Можно ли использовать землю не по назначению? Поступать так не рекомендуется: участок могут просто изъять, вернув в государственный фонд. С 2016 года процедуру отчуждения значительно упростили. Но можно попытаться сменить категорию земли. В некоторых регионах участки, предназначенные для садоводства и огородничества, можно сравнительно быстро перевести в категорию ИЖС.

Если вы планируете купить земельный участок, обращайте внимание на следующие моменты:

  • На любых сельскохозяйственных землях нельзя строить капитальные дома для проживания. С дачами будьте особенно осторожны, часто там можно строить только летние домики.
  • Если планируется построить дом, ищите участок для ИЖС (индивидуальное жилищное строительство). На нем можно возводить дома, гаражи, подсобные сооружения. Свободное место никто не запретит использовать под частный огород.
  • На некоторых участках для ведения садоводства можно строить жилые дома и гаражи. В то же время на землях для огородничества разрешены только хозпостройки. Будьте внимательны!

Если вы приобрели дачный участок и построили на нем дом для круглогодичного проживания, землю у вас, скорее всего, не отнимут (хотя будут иметь на это право). Но вот прописаться в таком доме у вас не получится. Проблемы будут и с доставкой почты. Также ожидайте штрафов за нецелевое использование земельного надела. Избежать этого поможет тщательное изучение документов перед покупкой любого дома.

Категория отеля. Что это такое?


Категория отеля. Что это такое?


ОБЩИЕ КРИТЕРИИ КАТЕГОРИИ ОТЕЛЕЙ

Благоустройство отеля
помещения общего пользования: холлы, залы заседаний, рестораны, бары, кафе и проч., их интерьеры, лифты, их количество, время ожида-ния и скорость движения и проч.

Оснащенность номеров
мебелировка и площадь номера, размер кровати, размер и качество ванной комнаты, освещенность помещений, наличие телевизора, других средств коммуникации и т.д.

Регламент обслуживания
частота уборки в номере и смены постельных принадлежностей.

КАТЕГОРИЯ И ЦЕНЫ

Лучшим гостиницам присваивается 5*, а самый низкий уровень качества гостиничных услуг соответствует 1*. При этом уже появились такие гостиницы, которые объявляют, что они не просто отели на 5*, но еще и "де люкс".

Например, в Барселоне всего 14 отелей имеют категорию 5*, но четыре из них претендуют на 6*: "Артс", "Кларис", "Король Хуан Карлос I" и "Ритц".

Вместе с тем, есть немало гостиниц, которые могли бы получить аттестацию на 5*, но сознательно занижают себе категорию. Дело в том, что налог на добавленную стоимость в отелях 5* -12%,

 

а в 4* - в два раза меньше.

Что же касается ценообразования, то здесь гостиницы имеют определенную свободу, и можно столкнуться с ситуацией, когда цены практически на одинаковые номера в гостиницах разных категорий могут оказаться очень близкими. В той же Барселоне двухместный номер в отеле "Принцесса София" 5* стоил $205, в отеле "Герцогиня де Бергара" 4* - $230 а в отеле "Рубене" 3* - $160.

Колебания цен в гостиницах одного разряда весьма существенны. В той же Барселоне за двухместный номер со всеми удобствами в гостиницах 5* приходится платить от $205 до $350 за одну ночь, в гостиницах 4* - от $100 до $230, в гостиницах 3* - от $85 до $160, в гостиницах 2* - от $60 до $105 и в гостиницах 1* - от $25 до $100.

Столь подробно мы показали разброс в ценах по каждой категории гостиниц в одном городе для того, чтобы наши туристы не были слишком уж заворожены числом звезд на вывеске отеля. Сервис, необходимый для хорошего отдыха в трехзвездочном отеле, может быть не хуже, чем в пятизвездочном. А платить лишние деньги только за то, чтобы позволить себе сообщить друзьям о вашем отдыхе в отеле на 5* или 4*, право, не стоит. Слов нет, все отели 5* комфортабельнее, чем 4* или 3*, а тем более - 2* или 1*.

СЕРВИС

Особенно заметны различия между отелями различной "звездности" в оснащенности ванной комнаты. Это прежде всего проявляется в отделке помещения, качестве и современности сантехнических устройств.

В старых 2* и 3-х* гостиницаx Англии еще и сегодня можно столкнуться с раздельными кранами с горячей и холодной водой. Добиться нужной температуры можно только предварительно закрыв раковину пробкой и после этого мыться не текущей водой, а как в тазу. В современных гостиницах заданную температуру и силу струи можно обеспечить, пользуясь лишь одним рычагом. В зависимости от классности гостиниц предлагается от 2 до 6 салфеток, больших и маленьких полотенец, практически всегда махровых.

В фирменных гостиницах 4*-5* звезд клиент пользуется водой, которая фильтруется в самом отеле. В гостиницах высшего класса в номерах, как правило, много зеркал, в том числе специальные с большим увеличением зеркало для бритья и макияжа. Ванная комната очень ярко освещена, имеются фен, гладильный аппарат.

В гостиницах 1*-3* набор туалетных принадлежностей состоит из маленького кусочка мыла (10-15 г. ) и иногда, но редко, шампуня. Заказывая номер в отеле, следует помнить и о том, что в 1* или 2-х* гостиницах удобства могут быть на этаже, а не в номере.

В гостиницах более высокого класса стандартный туалетный набор включает мыло, шампунь, крем и пену для ванн, а также защитную шапочку для принятия душа.

В гостиницах "Хайят" предлагаются куски мыла по 30-50 г., отдельно для лица и "бани", а также кусок глицеринового мыла.

В Китае набор включает расческу, зубную щетку и пасту.

В некоторых гостиницах можно встретить одноразовую бритву и крем для бритья, одеколон, жидкость для освежения рта.

В гостиницах высокого разряда, особенно в Италии и Франции, туалетные изделия произведены известными парфюмерными фирмами, например "Нина Риччи".

КЛАССИФИКАЦИЯ ГОСТИНИЦ

Звездная (или в виде корон) классификация отелей принята практически во всех странах Европы. Необходимо добавить, что определенное представление о конкретном уровне обслуживания в гостинице дают не только соответствие определенному количеству звезд, но и подробные криптограммы, которыми характеризуется отель в специальных справочниках, издаваемых национальной или региональной администрацией по туризму, международными гостиничными компаниями и крупными турфирмами. На практике применяется около 50 знаков в криптограммах, пользуясь которыми, можно узнать, есть ли в конкретной гостинице магазин или контора по обмену валюты, теннисный корт или сауна, бассейн или ресторан.

Кроме того, многие отели имеют свои интернет- сайты. К сожалению, информация на них не всегда бывает правдивой. Иногда уровень сервиса завышается, чаще - не обновляется: отелю давно присвоена категория 3*, но на интернет-сайте он числится по-прежнему как 2-х звёздочный.

В США, да и в других странах Америки, не пользуются классификацией, принятой в Старом Свете. Уровень обслуживания определяется вхождением данного отеля в престижные гостиничные цепи. Это прежде всего "Хилтон", "Мариотт", "Рэдиссон", "Форте", "Кемпинский", "Холидей инн", "Интерконтиненталь", "Рамада", "Миритим" и др. Торговый знак этих фирм надежное подтверждение высокого уровня обслуживания. Не рекомендуем сравнивать категории отелей в США и в Европе

ОФИЦИАЛЬНАЯ СИСТЕМА КЛАССИФИКАЦИИ ГОСТИНИЦ

Superior Deluxe:

Дорогая шикарная гостиница, часто в виде дворца (palace), которая предлагает наивысший стандарт обслуживания, размещения и удобств. Элегантные и изысканные общественные помещения. Престижное место расположения. Отели такой категории относятся к лучшим гостиницам в мире.

Deluxe:

Гостиницы такого класса очень похожи на гостиницы класса Superior Deluxe, но с той разницей, что они не такие огромные и у них более разумные цены. Отель такого класса можно спокойно рекомендовать даже очень требовательным к сервису клиентам.

Moderate Deluxe:

Очень похожи на предыдущий класс, но с определёнными недостатками. В некоторых случаях там не такой шикарный внешний вид как в Deluxe. Иногда гостиница всем хороша: и известная, и шикарная, и удобно расположена и сервис на высшем уровне, но получает такой класс из-за не очень благоприятной репутации в прошлом. К примеру: сначала отель был открыт как отель низкой или средней категории, а потом сервис улучшали, ремонтировали, отстраивали и переводили уже в более высокую категорию - такой гостинице не дадут очень высокий класс, т. к. высшей категории необходимо сразу строить новую гостиницу, отвечающую всем стандартам предполагаемого класса.

Superior First Class:

Гостиница выше среднего. Может быть исключительно хорошо отреставрированным старым отелем, но чаще - это хороший современный отель, специально спроектированный для первого класса, имеющий некоторые хорошие качественные особенности. Номера и общественные места обставлены со вкусом и очень комфортабельны. Гостиницу такого класса чаще всего рекомендуют клиентам высших слоёв среднего класса; такая гостиница вполне может удовлетворить запросы весьма требовательных клиентов.

First Class:

Комфортабельная гостиница со стандартными номерами, развлечениями и общественными помещениями. Может иметь целый уровень или крыло с люксами. Такие гостиницы очень хороши для дорогих групповых туров.

Limited-Service First Class:

Это гостиницы, предлагающие качество First Class, но с ограничениями в дополнительных удобствах и услугах. Завтраки сервируются в маленьком, неформальном ресторанчике в гостинице, а вечерние коктейли - в холле отеля. Полный пансион (обед и ужин)такие отели могут не предоставлять вообще.

Moderate First Class:

По сути, гостиницы 1 Класса (First Class), с комфортабельными, но простенькими номерами и общественными помещениями. Может не быть некоторых удобств (к примеру, ресторана). Наилучшим образом такие гостиницы подходят для клиентов, желающих сэкономить.

Superior Tourist Class:

изначально - пансион, но в очень хорошем состоянии, номера очень функциональны - все необходимые удобства, скромно, но аккуратно обставлены, хотя некоторые могут отвечать стандартам Первого Класса. Общественные помещения могут быть очень маленькими или вообще не существовать, часто просто в виде прохода или коридора, но очень приятно оформленные.

Tourist Class:

Рекомендуются для недорогих групповых туров со скромными требованиями к комфорту и обслуживанию. Все минимальные удобства в номерах есть.

Moderate Tourist Class:

Малобюджетный отель, часто достаточно старый и не в очень хорошем состоянии. Клиенты обязательно должны быть предупреждены, чего можно ожидать и чего там не будет. Минимальные удобства (туалет/душ/умывальник) в номерах есть.

К неклассифицированным гостиницам и пансионам не обязательно могут относиться только самые худшие, часть это очень маленькие, уютные, чистенькие и с «изюминкой» заведения. Чаще всего, большое количество таких неклассифицированных отельчиков можно встретить на небольших горнолыжных курортах.

Наталия БРАШИНСКАЯ
(Glavs© NYC, Saturday, August 10, 2002)

Категории сахара: в чём разница?

Внимательный покупатель наверняка замечал надписи на упаковках с сахаром в магазинах, где, помимо всего прочего, указана категория этого продукта. Например, «Экстра», ТС1 или ТС2. Что всё это значит и чем сахар разных категорий может отличаться друг от друга?

Стоит отметить, что цена на сахар, как и на любой продукт, зависит не только (и не столько) от его характеристик, сколько от раскрученности и, соответственно, бюджета на продвижение, торговой марки. Активно рекламируемые марки или марки эксклюзивного сахара (например, тростникового) всегда будут стоить дороже при сопоставимом с бюджетными марками продукта качестве.

Что следует понимать под бюджетными марками? Прежде всего, собственные торговые марки (СТМ) торговых сетей. Такая продукция максимально «очищена» от разного рода сборов и затрат на продвижение, рекламу и маркетинг. Следовательно, имеет минимальную наценку, а выгоду производителю и продавцу приносит за счёт больших объёмов продаж. Сюда же можно отнести экономию на упаковке — недорогие марки не имеют «крафтовых» и прочих упаковок, они фасуются в самую простую плёнку.

Именно поэтому сахар категории «Экстра» и, например, ТС2 можно встретить как в бюджетном исполнении, так и в дорогом варианте. К слову, ТС расшифровывается как «товарный сорт».

Итак, категория «Экстра» требует, чтобы белый сахар содержал не менее 99,80% очищенной кристаллизованной сахарозы — того самого, что остаётся от сахарной свеклы после её многоступенчатой обработки.

Белый сахар категорий ТС1 и ТС2 должен содержать не менее 99,70% кристаллизованной сахарозы. Категорией ТС3 обозначается фабричный сахар с содержанием кристаллизованной сахарозы не менее 99,50%. Сахар последней категории характерен желтоватым оттенком, но смущать это не должно.

Таким образом, чем выше категория сахара, тем он более белый и более чистый. Всё просто. Напомним, что основной объём потребляемого в России сахара производится из сахарной свеклы и сахарного тростника. Оба растения имеют один и тот же состав — сахарозу. Различается лишь степень очистки для получения продукта в том виде, в котором мы к нему привыкли.

Подписывайтесь на наш Telegram-канал и узнавайте ещё больше!

Категории «сорт» колбасных изделий

Давайте сегодня разберемся что же такое Категория А,Б,В, и чем же они отличаются!

Обращали ли вы внимание, что у некоторых колбас в прошлом наблюдалась характеристика СОРТ, Сегодня это новое название «Категория»
Сейчас многие колбасы по новейшим ГОСТам делятся на разные категории. Категория тоже зависит от сырья, но теперь учитывается общее содержание мясных ингредиентов в изделии, то есть, сколько процентов в составе рецепта изделия составляют продукты убоя или продукты их переработки


Сегодня, мясные продукты подразделяются на на группы.

  1. Мясные
  2. Мясосодержащие
  3. Мясорастительным
  4. Растительно – мясным

Мясной продукт
Должен содержать  более 60 процентов мясных ингредиентов.

Мясосодержащий продукт
Должен содержать от 5 до 60 процентов мясных ингредиентов.

Мясорастительный продукт
Данный продукт содержит ингредиенты растительного происхождения и доля процентов мясных ингредиентов от 30 до 60 процентов.

Растительно - мясной продукт
Содержит также ингредиенты растительного происхождения, но доля мясных ингредиентов менее 30 процентов.

Теперь давайте разберемся с категориями колбас….
Для начала проясним два понятия «Мясо» и «Мышечная ткань»
Эти понятия разные и их нельзя объединять в одно и тоже при категориях
Когда мы говорим «Мясо» это не чистая ткань, оно в себе объединяет « Сало, Хрящи, Часть кожи и т.д. А вот мышечная ткань это и есть чистые волокна, без жира, кожи и т.д.

Помните мы с вами читали про Виды колбас??? Так вот, давайте разберемся к какому виду какие требования по категории.
Категории подразделяются на три типа А,Б,В используются  «Русские буквы - Кириллица»

Кровяные либо Ливерные колбасы должны содержать в своей рецептуре Мышечную ткань в процентах от категории

  • Категория А - Не меньше 40 процентов.
  • Категория Б - От 20 до 40 процентов.
  • Категория В - Все что менее 20 процентов.

Полу копчёные колбасы имеют иные параметры для категорий

  • Категория А - Содержание от 80 до 100 процентов.
  • Категория Б - От 60 до 80 процентов.
  • Категория В - От 40 до 60 процентов.

Варено копченые и Сырокопченые колбасы содержат всего две категории

  • Категория А – Содержит более 60 процентов мышечной ткани.
  • Категория Б - От 40 до 60 процентов мышечной ткани.

Вареные колбасы  тут все немного посложнее….  На вареные колбасы есть два стандарта
Докторская, Столичная, Любительская,  и т.д содержат две категории А и Б

  • Категория А – Содержит от 60 процентов мышечной ткани.
  • Категория Б – Имеет от 40 до 60 процентов мышечной ткани.

Другие вареные колбасы содержат аж четыре категории

  • Категория А – Больше 60 процентов.
  • Категория Б - От 40 до 60 процентов.
  • Категория В - От 20 до 40 процентов.
  • Категория Г - От 5 до 20 процентов.

Обратите внимание!!!
Колбасные изделия из группы  мясосодержащие попадают под категории В либо Г

Ну вот и все друзья))) Теперь вы подкованы по группам и категориям колбас и колбасных изделий. До новых встреч))))

ErrorType - Справочник по API - Торговый API

Это ошибки запроса (в отличие от системных ошибок), которые возникают из-за проблем с данными бизнес-уровня (например, недопустимая комбинация аргументов), которые передало приложение.

Типы, которые используют ErrorType:

Вызовы, использующие ErrorType:

    AddDispute, AddDisputeResponse, AddFixedPriceItem, Добавить элемент, AddItemFromSellingManagerTemplate, AddItems, AddMemberMessageAAQToPartner, AddMemberMessageRTQ, AddMemberMessagesAAQToBidder, AddOrder, AddSecondChanceItem, AddSellingManagerInventoryFolder, AddSellingManagerProduct, AddSellingManagerTemplate, AddToItemDescription, AddToWatchList, AddTransactionConfirmationItem, CompleteSale, ConfirmIdentity, DeleteMyMessages, DeleteSellingManagerInventoryFolder, DeleteSellingManagerItemAutomationRule, DeleteSellingManagerProduct, DeleteSellingManagerTemplate, DeleteSellingManagerTemplateAutomationRule, DisableUnpaidItemAssistance, EndFixedPriceItem, EndItem, EndItems, ExtendSiteHostedPictures, FetchToken, GetAccount, GetAdFormatLeads, GetAllBidders, GetApiAccessRules, GetBestOffers, GetBidderList, GetCategories, GetCategoryFeatures, GetCategoryMappings, GetCategorySpecifics, GetChallengeToken, GetCharities, GetClientAlertsAuthToken, GetContextualKeywords, GetDescriptionTemplates, GetDispute, GeteBayDetails, GeteBayOfficialTime, Получать отзывы, GetItem, GetItemsAwaitingFeedback, GetItemShipping, GetItemTransactions, GetMemberMessages, GetMessagePreferences, GetMyeBayBuying, GetMyeBayReminders, GetMyeBaySelling, GetMyMessages, GetNotificationPreferences, GetNotificationsUsage, GetOrders, GetOrderTransactions, GetPromotionalSaleDetails, GetSellerDashboard, GetSellerEvents, GetSellerList, GetSellerTransactions, GetSellingManagerAlerts, GetSellingManagerEmailLog, GetSellingManagerInventory, GetSellingManagerInventoryFolder, GetSellingManagerItemAutomationRule, GetSellingManagerSaleRecord, GetSellingManagerSoldListings, GetSellingManagerTemplateAutomationRule, GetSellingManagerTemplates, GetSessionID, GetShippingDiscountProfiles, GetStore, GetStoreCategoryUpdateStatus, GetStoreCustomPage, GetStoreOptions, GetStorePreferences, GetSuggestedCategories, GetTaxTable, GetTokenStatus, GetUser, GetUserContactDetails, GetUserDisputes, GetUserPreferences, GetVeROReasonCodeDetails, GetVeROReportStatus, Оставьте отзыв, MoveSellingManagerInventoryFolder, PlaceOffer, RelistFixedPriceItem, RelistItem, RemoveFromWatchList, RespondToBestOffer, RespondToFeedback, ReviseCheckoutStatus, ReviseFixedPriceItem, ReviseInventoryStatus, ReviseItem, ReviseMyMessages, ReviseMyMessagesFolders, ReviseSellingManagerInventoryFolder, ReviseSellingManagerProduct, ReviseSellingManagerTemplate, RevokeToken, SaveItemToSellingManagerTemplate, ПродавецReverseDispute, Отправить счет-фактуру, SetMessagePreferences, SetNotificationPreferences, SetPromotionalSale, SetPromotionalSaleListings, SetSellingManagerFeedbackOptions, SetSellingManagerItemAutomationRule, SetSellingManagerTemplateAutomationRule, SetShippingDiscountProfiles, SetStore, SetStoreCategories, SetStoreCustomPage, SetStorePreferences, SetTaxTable, SetUserNotes, SetUserPreferences, ЗагрузитьSiteHostedPictures, ValidateChallengeInput, ValidateTestUserRegistration, VerifyAddFixedPriceItem, VerifyAddItem, VerifyAddSecondChanceItem, VerifyRelistItem, VeROReportItems

Поля

Ошибки API делятся на два класса: системные ошибки и ошибки запросов.

См. Указатель полей, чтобы узнать, какие вызовы используют ErrorClassification.

Уникальный код, определяющий конкретную возникшую ошибку. Ваше приложение может использовать коды ошибок в качестве идентификаторов в настраиваемых алгоритмах обработки ошибок. См. Документ «Ошибки по номеру».

См. Указатель полей, чтобы узнать, какие вызовы используют ErrorCode.

Этот необязательный элемент содержит список переменных ошибки, зависящих от контекста, которые указывают подробную информацию о состоянии ошибки.Это полезно, когда возвращается несколько экземпляров ErrorType .

См. Указатель полей, чтобы узнать, какие вызовы используют параметры ошибки.

Более подробное описание условия, вызвавшего ошибку.

См. Указатель полей, чтобы узнать, какие вызовы используют LongMessage.

Указывает, является ли ошибка серьезной ошибкой (вызывающей сбой запроса) или информационной ошибкой (предупреждением), о которой следует сообщить пользователю.

См. Указатель полей, чтобы узнать, какие вызовы используют SeverityCode.

Краткое описание условия, вызвавшего ошибку.

См. Указатель полей, чтобы узнать, какие вызовы используют ShortMessage.

Указывает, предназначен ли текст сообщения об ошибке для отображения конечному пользователю или предназначен только для анализа приложением. Если true или нет (по умолчанию), текст сообщения предназначен для конечного пользователя. Если false, текст сообщения предназначен для приложения, и приложение должно преобразовать ошибку в более подходящее сообщение.Применимо только к ошибкам и предупреждениям, связанным со спецификой позиции, возвращаемым из запросов на листинг.

См. Указатель полей, чтобы узнать, какие вызовы используют UserDisplayHint.

Авторские права © 2005–2021 eBay Inc. Все права защищены. Данную документацию и API можно использовать только в соответствии с Программой разработчиков eBay и Лицензионным соглашением по API.

категорий оценок | Справка Blackboard

О категориях

Не кажется знакомым? Перейдите к разделу справки "Ultra" по категориям в журнале успеваемости.

В Центре оценок вы можете использовать категории для группировки связанных столбцов и организации данных.

С помощью категорий вы можете выполнять следующие задачи:

  • Отфильтруйте свой вид Центра оценок. Например, вы можете просматривать только столбцы заданий в сетке Центра оценок.
  • Рассчитать оценки. Например, вы можете назначить вес категории при подсчете итоговых оценок с помощью взвешенного столбца.
  • Создайте умный вид. Интеллектуальное представление - это сфокусированный взгляд на Центр оценок, в котором отображаются только столбцы, соответствующие набору критериев.Например, вы можете создать интеллектуальное представление, которое отображает только столбцы, связанные с категорией теста.
  • Создать отчет. Вы можете создать отчет для печати, который отображает статистику производительности для всех столбцов в определенной категории.

Восемь категорий по умолчанию

По умолчанию в Центре оценок создаются эти восемь категорий:

  • Переуступка
  • Блог
  • Обсуждение
  • Журнал
  • Собственный и равноправный
  • Обзор
  • Тест
  • Wiki - когда инструмент доступен и вы создали градиентную вики.

Когда вы создаете оцениваемый элемент из списка, столбец оценок создается автоматически для этого элемента в Центре оценок.Столбец автоматически связывается с правильной категорией.


Создать категории

Не кажется знакомым? Перейдите к разделу справки "Ultra" о странице категорий.

Вы можете создать столько категорий, сколько необходимо для организации данных Центра оценок. На странице «Категории» в Центре оценок отображаются категории по умолчанию и созданные вами. В строке каждой категории отображается необязательное описание и столбцы оценок, связанные с этой категорией.

Когда вы вручную создаете столбец оценок, вы можете связать его с категорией по умолчанию или настраиваемой категорией.Если вы этого не сделаете, по умолчанию будет выбрано значение «Без категории».

  1. В Центре оценок откройте меню «Управление» и выберите «Категории».
  2. На странице «Категории» выберите «Создать категорию» и введите имя и необязательное описание.
  3. Выберите «Отправить».

Чтобы отредактировать или удалить созданную вами категорию, откройте ее меню. Вы не можете удалить категорию, с которой связаны столбцы.


Просмотр категории и сопоставление столбцов

В Центре оценок вы можете просматривать столбцы, связанные с категорией, двумя способами.Вы можете отфильтровать представление Центра оценок и выбрать категорию. Столбцы, связанные с категорией, появятся в сетке. Представление остается в Центре оценок, пока вы не измените его или не закроете браузер.

Вы также можете просмотреть все категории и связанные столбцы на странице «Организация столбцов». Вы можете переместить один или несколько столбцов в категорию, другую категорию или без категории. Откройте страницу из меню «Управление».

Если вы не связали столбцы с категорией при ее создании, вы можете вручную связать столбцы на странице «Организация столбцов».Вы также можете редактировать настройки столбца.

Создание категории с «Крестным отцом категории», Кристофер Лоххед

Подкаст 3 ноября 2020 г.

Доминик Монкхаус

Я не пропущу на этой неделе серию «Плавильный котел» с крестным отцом категориального дизайна Кристофером Локхедом.

Он сам описывает себя как разносчика газет, страдающих дислексией, которого выбросили из школы в 18 лет, и, имея несколько других вариантов, он основал компанию.Сейчас Кристофер занимает первое место в подкастере Apple Business и №1 по маркетингу в Amazon. Он был советником более 50 стартапов, финансируемых венчурным капиталом, является партнером с ограниченным венчурным капиталом, бывшим трехкратным директором по маркетингу в Силиконовой долине (Vantive, Scient, Mercury Interactive) и предпринимателем.

«Для меня предпринимательство, как и для многих других предпринимателей, - это не обязательно путь вверх в мире, это выход из жизни, полной борьбы».

Сегодня Кристофер ведет отмеченный наградами подкаст диалогов «Follow Your Different» и отмеченный наградами подкаст «Lochhead on Marketing» и является соавтором двух международных бестселлеров: Niche Down и Play Bigger .

Кристофер твердо убежден, что категории создают бренды, а не бренды создают категории. В этом невероятно проницательном (и немного более длинном, чем обычно) эпизоде ​​он рассказывает о том, что могло бы произойти, если бы Стив Джобс следовал традиционной маркетинговой инструкции, и почему Google Plus потерпел неудачу. Кроме того, он обсуждает важность диалога и то, что произошло, когда Дэн Александер, человек, освещающий деловые отношения президента Трампа, выступил с его подкастом.

В сегодняшнем подкасте:

  • Почему он запустил подкаст
  • Создание категории с помощью Play Bigger
  • Как легенды занимаются маркетингом
  • Как Стив Джобс создал новую категорию
  • Создание суши-буррито
  • Интервью Дэна Александра

Ссылки:


Почему дизайн категорий имеет значение с Кристофером Лоххедом

Крисофер Лоххед написал фантастическую книгу под названием «Играй больше», в которой он говорит, что категории создают бренды, а бренды не создают категории. Что это обозначает? Что ж, говорит Кристофер, если бы Стив Джобс, Мохаммед Али или кто-либо из крупных владельцев категорий последовал традиционной маркетинговой инструкции, они бы потерпели неудачу.

Итак, если вы надеетесь произвести фурор в своем бизнесе, это тот человек, на которого вы хотите обратить внимание.

Крестный отец категории

Кристофер был разносчиком газет, страдающим дислексией, которого выбросили из школы в 18 лет, и, имея несколько других вариантов, он основал компанию. Теперь он занимает первое место в подкастере Apple Business и №1 в области маркетинга Amazon.Он был советником более 50 стартапов, финансируемых венчурным капиталом, является партнером с ограниченным венчурным капиталом, бывшим трехкратным директором по маркетингу в Силиконовой долине (Vantive, Scient, Mercury Interactive) и предпринимателем.

Его отмеченный наградами подкаст диалогов «Follow Your Different» и отмеченный наградами подкаст «Lochhead on Marketing» позволили ему провести содержательные беседы с некоторыми действительно крупными игроками, и он записал свои знания для других в двух международных бестселлерах: Niche Down и Play Bigger .

«Мне очень много помогали. Одно из моих любимых выражений: если вам посчастливилось подняться на вершину горы, вы должны бросить веревку. Итак, я пытаюсь сбросить веревку. И, надеюсь, повеселитесь, занимаясь этим ».

Значение диалога

Почему он запустил подкаст? Потому что тот, который он хотел услышать, недоступен. Кристофер - твердый сторонник реального диалога, а не сильно отредактированных разговоров с самородками на вынос.

«Я думаю, что подлинный разговор - это самое сильное, что у нас есть.Это то, что меняет мир. Когда люди собираются вместе и по-настоящему раскрывают важный набор идей и готовы катапультироваться и бороться с вещами. Думаю, именно так многие из нас учатся ».

В «Играй больше» Кристофер рассказывает о создании категории. Теперь он стал известен как категоричный парень, создав для себя категорию, написав книгу. По словам Кристофера, существует различие между захватом спроса и созданием спроса, между игрой замещения и игрой созидания.

Как легенды занимаются маркетингом

Вот чего легенды не делают, - говорит Кристофер. Большинство из нас, занимаясь маркетингом, играет в традиционную маркетинговую игру. Мы играем в игру «мы лучше их». Что, по определению, делает это игрой сравнения, в которую вы играете.

Проблема в том, что когда вы сравниваете свой продукт, свою компанию, себя с другим продуктом, компанией или человеком, вы приглашаете сравнение, вы делаете ссылку на конкурентов.

«Когда мы говорим, что мы лучше или лучше всех, мы подставляем, мы основываем разговор на сравнении с кем-то другим».

Легенды этого не делают.

Генри Форд не хотел своих инноваций по сравнению с кем-либо еще. Сара Блейкли, основательница Spanx, не называла это поясом 2.0. Что она сказала? Она сказала, что это новое изобретение. Это новая категория под названием корректирующее белье.

Стив Джобс проигнорировал факт существования BlackBerry. Он заставил весь мир думать, что создал мобильный телефон.Когда на самом деле он создал подкатегорию, названную смартфоном через нишу, смартфон обогнал мобильный телефон. Поступая так, он пересмотрел и воссоздал определение мобильного телефона.

«Самые легендарные люди не боролись за долю рынка с лучшей стратегией. Что они сделали, так это познакомили мир с новым взглядом на проблему и решение, открыв им новый подход. Тем самым они создали совершенно новую рыночную категорию.И вот что такое дизайн категорий, мы разрабатываем то, как люди думают ».

Создавая новую категорию, вы создаете спрос там, где его раньше не было. Если вы человек, знакомящий людей с новым образом мышления, вы становитесь лидером, идейным лидером, королевой категорий или королем.

Как легенды становятся легендами

Сам по себе легендарный новый продукт вряд ли сам по себе создаст новую категорию, ему нужна помощь. И большинство легендарных продуктов не говорят сами за себя.Так что, если вы предприниматель или маркетолог, не допускайте шанса, что ваш легендарный продукт станет культовой классикой, проявите инициативу, говорит Кристофер, такой же, какой была Сара Блейкли, каким был Стив Джобс.

«Легенды становятся легендами, потому что они стали известны своей нишей… категории создают новое мышление, как правило, вокруг проблем и решений. Так устроен разум ".

Легендарные маркетологи и предприниматели проявили себя как новаторы.

«Они очень целенаправленно объясняют свои инновации, чтобы создать новое место в вашем мозгу, чтобы познакомить нас с новым мышлением.И причина того, что это работает, в том, что так работает человеческий мозг. Мы с вами думаем, что сначала категория, а во вторую - бренд ».

Владение своей категорией

И как только вы создали свою категорию, пригласите участников конкурса, потому что очень сложно быть категорией одной. Как упоминалось ранее, большинство маркетологов придерживаются традиционной маркетинговой стратегии сравнения. И, по словам Кристофера, большинство предпринимателей и маркетологов глупы и попытаются вас обмануть.

Только не думайте, что ваш бренд будет конкурировать на уровне категории, если вы не в своей категории.Показательный пример - Google Plus. Google является лидером в области поиска, но когда они свернули со своего пути, чтобы конкурировать с Facebook, им передали задницу.

«Они запустили продукт для меня тоже. Это прямой грабеж. Он выглядит немного иначе, но по сути делает то же самое. Они потратили на это миллиард долларов, что намного превышает миллиард долларов. И они называют это Google Plus. Между прочим, когда вы слышите «плюс» после названия бренда, это потому, что у предпринимателя, генерального директора и директора по маркетингу нет креативной кости в их гребаном теле.”

Показательный пример - Dell.

«В прошлом Dell пыталась выпустить на рынок целый ряд продуктов, которые они вполне могут производить. Они просто не могли убедить людей совершить покупку ».

Владение повествованием

Итак, iPhone лучше телефона, чем Blackberry? Кристофер считает, что все это интерпретация разных повествований.

«Большинство людей сказали бы, что причина успеха Apple в том, что iPhone был лучше, чем Blackberry.Большинство людей сказали бы, что это инновация. Это была дилемма новатора - Blackberry не могла внедрять новшества. Apple вводила новшества, и именно поэтому они победили ».

Как произошло это толкование? Идиотами, оставляющими толкование на волю случая. Легенды, говорит Кристофер, активно разрабатывают новую категорию.

«Внедряя мышление через это, мы называем точку зрения. И когда мир соглашается с вами или достаточное количество людей соглашается с вами в отношении вашей точки зрения, тогда точки зрения подсказывают, и бац, у вас появляется новая категория, и всех сравнивают с вами, а не с вами. всем остальным.Вот почему дизайн категорий так важен ".

Рекомендации по книгам

Наглядные материалы по категориям для пополнения словарного запаса от Dabbling Speechie

Как логопед или классный руководитель, мы хотим, чтобы наши ученики развили сильный рабочий словарный запас . Чем больше словарный запас, тем лучше наши ученики будут понимать прочитанное. Один из способов пополнить словарный запас - это научить словарным словам в контексте .

Обучающие категории помогают учащимся организовать слова по схожим признакам.Это также помогает при описании знакомых существительных по атрибутам группы категорий .

Как собрать и упорядочить: Я распечатал эти наглядные пособия и установил защитную пленку. Я храню их в папке для визуальных опор. Таким образом, я могу легко найти наглядные материалы, которые нужны моим ученикам. Если вы хотите прикрепить эти изображения к корзинам, ламинируйте их, вырежьте и прикрепите липучки. Я храню эти нарезанные изображения категорий в пластиковом пакете или контейнере для хранения.

Как использовать с учащимися: Развивайте у учащихся восприимчивый (понимание категорий) язык (понимание категорий), задавая им задачу сортировки карточек или предметов по правильным группам категорий.Вы можете найти эти действительно крутые безделушки на Etsy от Dinky Doodads, которые я использовал с этими визуальными эффектами. Ознакомьтесь с моей записью в блоге о сенсорной корзине «Я шпионю» для получения более подробной информации. В этом сообщении блога есть бесплатная категория «Я шпионю», которую можно распечатать!

Развивайте у учащихся выразительный язык (словесное использование категорий) , давая им возможность называть элементы в группах категорий. Поместите визуальные эффекты в мусорные ведра и создайте игру с бросанием фасоли. В какую бы корзину ни попадал мешок с фасолью, ученик должен назвать объект в этой группе категорий.Играйте, выигрывайте до минуты. Попросите учащихся попробовать назвать по 3 элемента в каждой группе категорий. Посмотрите, через сколько групп они смогут пройти.

Нужны дополнительные ресурсы по деятельности категории? Вот еще несколько ресурсов, которые помогут пополнить словарный запас с помощью категорий:

• Флипбук «Все о категориях» - Категории упражнений для создания языка

• Отдых на природе по категориям!

• Визуальные эффекты категорий для создания словаря

• Категория «Книги по искусству кошелька»

• Категории горячего шоколада

• Нет листов для подготовки к категориям

• Бумажник для создания складных книг НАБОР - Категории, словарь и грамматические потребности Идеи о том, с чего начать построение категорий со своими учениками? Прочтите это сообщение в блоге, в котором я написал, с чего начать терапию.

************** Оставайтесь на связи со мной ***********************

БЛОГ

БЮЛЛЕТЕНЬ

FACEBOOK

INSTAGRAM

PINTEREST

Пожалуйста, напишите мне на [email protected], если у вас есть вопросы!

Категориальные данные - документация pandas 1.2.4

Это введение в категориальный тип данных pandas, включая краткое сравнение с коэффициентом R .

Категории - это тип данных pandas, соответствующий категориальным переменным в статистика. Категориальная переменная принимает ограниченное и обычно фиксированное значение. количество возможных значений ( категория ; уровень в R). Примеры: пол, социальный класс, группа крови, принадлежность к стране, время наблюдения или рейтинг через Весы Лайкерта.

В отличие от статистических категориальных переменных, категориальные данные могут иметь порядок (например, «Полностью согласен» против «согласен» или «первое наблюдение» против«Второе наблюдение»), но числовой операции (добавления, разделения,…) невозможны.

Все значения категориальных данных относятся к категориям или np.nan . Порядок определяется порядок категории , а не лексический порядок значений. Внутренне структура данных состоит из массива категорий и целочисленного массива кодов , которые указывают на действительное значение в массив категорий .

Категориальный тип данных полезен в следующих случаях:

  • Строковая переменная, состоящая всего из нескольких различных значений.Преобразование такой строки в категориальную переменную сэкономит память, см. здесь.

  • Лексический порядок переменной не совпадает с логическим порядком («один», «два», «три»). Преобразовав в категориальный и указав порядок категорий, сортировку и min / max будет использовать логический порядок вместо лексического, см. здесь.

  • Как сигнал другим библиотекам Python, что этот столбец следует рассматривать как категориальный переменная (например,грамм. использовать подходящие статистические методы или типы графиков).

См. Также документацию API по категориям.

Создание объекта

Создание серии

Категориальный Series или столбцы в DataFrame могут быть созданы несколькими способами:

Указав dtype = "category" при создании Series :

 В [1]: s = pd.Series (["a", "b", "c", "a"], dtype = "category")

В [2]: s
Из [2]:
0 а
1 б
2 с
3 а
dtype: категория
Категории (3, объект): ['a', 'b', 'c']
 

Путем преобразования существующей серии или столбца в категорию dtype:

 В [3]: df = pd.DataFrame ({"A": ["a", "b", "c", "a"]})

В [4]: ​​df ["B"] = df ["A"]. Astype ("категория")

В [5]: df
Из [5]:
   А Б
0 а а
1 б б
2 c c
3 а а
 

Используя специальные функции, такие как cut () , которые группируют данные в дискретные бункеры. См. Пример тайлинга в документации.

 В [6]: df = pd.DataFrame ({"значение": np.random.randint (0, 100, 20)})

В [7]: labels = ["{0} - {1}". Format (i, i + 9) for i in range (0, 100, 10)]

В [8]: df ["group"] = pd.cut (df.value, range (0, 105, 10), right = False, labels = labels)

В [9]: df.голова (10)
Из [9]:
   группа значений
0 65 60 - 69
1 49 40–49
2 56 50–59
3 43 40–49
4 43 40–49
5 91 90–99
6 32 30 - 39
7 87 80 - 89
8 36 30 - 39
9 8 0–9
 

Путем передачи объекта pandas.Categorical в Series или назначения его DataFrame .

 В [10]: raw_cat = pd.Categorical (
   ....: ["a", "b", "c", "a"], Categories = ["b", "c", "d"], orders = False
   ....:)
   ....:

В [11]: s = pd.Series (raw_cat)

В [12]: s
Из [12]:
0 NaN
1 б
2 с
3 NaN
dtype: категория
Категории (3, объект): ['b', 'c', 'd']

В [13]: df = pd.DataFrame ({"A": ["a", "b", "c", "a"]})

В [14]: df ["B"] = raw_cat

В [15]: df
Из [15]:
   А Б
0 а NaN
1 б б
2 c c
3 а NaN
 

Категориальные данные имеют особую категорию dtype:

 В [16]: df.dtypes
Из [16]:
Объект
Категория B
dtype: объект
 

Создание DataFrame

Подобно предыдущему разделу, где один столбец был преобразован в категориальный, все столбцы в DataFrame можно пакетно преобразовать в категориальный во время или после построения.

Это можно сделать во время построения, указав dtype = "category" в конструкторе DataFrame :

 В [17]: df = pd.DataFrame ({"A": список ("abca"), "B": список ("bccd")}, dtype = "category")

В [18]: df.dtypes
Из [18]:
Категория
Категория B
dtype: объект
 

Обратите внимание, что категории, представленные в каждом столбце, различаются; преобразование выполняется столбец за столбцом, поэтому только метки, присутствующие в данном столбце, являются категориями:

 В [19]: df ["A"]
Из [19]:
0 а
1 б
2 с
3 а
Имя: A, d тип: категория
Категории (3, объект): ['a', 'b', 'c']

В [20]: df ["B"]
Из [20]:
0 б
1 с
2 с
3 дн.
Имя: B, d тип: категория
Категории (3, объект): ['b', 'c', 'd']
 

Аналогично, все столбцы в существующем кадре DataFrame могут быть преобразованы в пакетном режиме с использованием DataFrame.astype () :

 В [21]: df = pd.DataFrame ({"A": список ("abca"), "B": список ("bccd")})

В [22]: df_cat = df.astype ("категория")

В [23]: df_cat.dtypes
Из [23]:
Категория
Категория B
dtype: объект
 

Это преобразование также выполняется столбец за столбцом:

 В [24]: df_cat ["A"]
Из [24]:
0 а
1 б
2 с
3 а
Имя: A, d тип: категория
Категории (3, объект): ['a', 'b', 'c']

В [25]: df_cat ["B"]
Из [25]:
0 б
1 с
2 с
3 дн.
Имя: B, d тип: категория
Категории (3, объект): ['b', 'c', 'd']
 

Управляющее поведение

В приведенных выше примерах, где мы передали dtype = 'category' , мы использовали значение по умолчанию поведение:

  1. Категории выводятся на основе данных.

  2. Категории неупорядочены.

Чтобы управлять этим поведением, вместо передачи 'category' используйте экземпляр из Категориальный тип .

 В [26]: из pandas.api.types импортировать КатегориальныйДтип

В [27]: s = pd.Series (["a", "b", "c", "a"])

В [28]: cat_type = CategoryDtype (категории = ["b", "c", "d"], заказанный = True)

В [29]: s_cat = s.astype (cat_type)

В [30]: s_cat
Из [30]:
0 NaN
1 б
2 с
3 NaN
dtype: категория
Категории (3, объект): ['b' <'c' <'d']
 

Аналогично, CategoryDtype может использоваться с DataFrame , чтобы гарантировать, что категории согласованы между всеми столбцами.

 В [31]: из pandas.api.types импортировать КатегориальныйДтип

В [32]: df = pd.DataFrame ({"A": список ("abca"), "B": список ("bccd")})

В [33]: cat_type = Категориальный тип (категории = список ("abcd"), упорядоченный = Истина)

В [34]: df_cat = df.astype (cat_type)

В [35]: df_cat ["A"]
Из [35]:
0 а
1 б
2 с
3 а
Имя: A, d тип: категория
Категории (4, объект): ['a' <'b' <'c' <'d']

В [36]: df_cat ["B"]
Из [36]:
0 б
1 с
2 с
3 дн.
Имя: B, d тип: категория
Категории (4, объект): ['a' <'b' <'c' <'d']
 

Примечание

Для выполнения табличного преобразования, где все метки во всем DataFrame используются как категорий для каждого столбца, параметр категории может быть определен программно с помощью категории = pd.уникальный (df.to_numpy (). ravel ()) .

Если у вас уже есть коды и категории , вы можете использовать from_codes () конструктор для сохранения шага факторизации в обычном режиме конструктора:

 В [37]: splitter = np.random.choice ([0, 1], 5, p = [0,5, 0,5])

В [38]: s = pd.Series (pd.Categorical.from_codes (splitter, Categories = ["train", "test"]))
 

Восстановление исходных данных

Чтобы вернуться к исходному массиву Series или NumPy, используйте серии.astype (исходный_дтип) или np.asarray (категориальный) :

 В [39]: s = pd.Series (["a", "b", "c", "a"])

В [40]: s
Из [40]:
0 а
1 б
2 с
3 а
dtype: объект

В [41]: s2 = s.astype ("категория")

В [42]: s2
Из [42]:
0 а
1 б
2 с
3 а
dtype: категория
Категории (3, объект): ['a', 'b', 'c']

В [43]: s2.astype (str)
Из [43]:
0 а
1 б
2 с
3 а
dtype: объект

В [44]: np.asarray (s2)
Out [44]: array (['a', 'b', 'c', 'a'], dtype = объект)
 

Примечание

В отличие от функции R фактор , категориальные данные не преобразуют входные значения в струны; категории будут иметь тот же тип данных, что и исходные значения.

Примечание

В отличие от функции R фактор , в настоящее время нет возможности назначать / изменять метки в время создания. Используйте категории , чтобы изменить категории после создания.

Категориальный тип

Тип категории полностью описывается

  1. категории : последовательность уникальных значений и отсутствие пропущенных значений

  2. заказано : логическое

Эта информация может храниться в CategoryDtype .Аргумент категории является необязательным, что означает, что фактические категории следует выводить из того, что присутствует в данных, когда панд. Создана категория . Категории считаются неупорядоченными. по умолчанию.

 В [45]: из pandas.api.types импортировать КатегориальныйДтип

В [46]: CategoryDtype (["a", "b", "c"])
Выход [46]: КатегориальныйDтип (категории = ['a', 'b', 'c'], упорядоченный = False)

В [47]: CategoryDtype (["a", "b", "c"], упорядоченный = True)
Выход [47]: КатегориальныйDтип (категории = ['a', 'b', 'c'], упорядоченный = True)

В [48]: CategoryDtype ()
Out [48]: Категориальный тип (категории = Нет, упорядоченный = Ложь)
 

A CategoryDtype можно использовать в любом месте, панда ожидает dtype .Например pandas.read_csv () , pandas.DataFrame.astype () или в конструкторе Series .

Примечание

Для удобства вы можете использовать строку 'category' вместо CategoryDtype , если требуется поведение по умолчанию для категории неупорядочены и равны установленным значениям, присутствующим в множество. Другими словами, dtype = 'category' эквивалентно dtype = CategoryDtype () .

Семантика равенства

Два экземпляра CategoryDtype сравнивают равные всякий раз, когда они имеют одинаковые категории и порядок.При сравнении двух неупорядоченные категории, порядок категорий не рассматривается.

 В [49]: c1 = CategoryDtype (["a", "b", "c"], заказанный = False)

# Равно, поскольку заказ не учитывается при заказе = False
В [50]: c1 == CategoryDtype (["b", "c", "a"], order = False)
Out [50]: Верно

# Неравно, так как второй тип CategoryDtype упорядочен
В [51]: c1 == CategoryDtype (["a", "b", "c"], упорядоченный = True)
Out [51]: ложь
 

Все экземпляры CategoryDtype сравниваются со строкой 'category' .

 В [52]: c1 == "category"
Out [52]: Верно
 

Предупреждение

Поскольку dtype = 'category' по сути является CategoryDtype (None, False) , и поскольку все экземпляры CategoryDtype сравниваются с 'category' , все экземпляры CategoryDtype сравниваются как CategoryDtype (None, False) , независимо от категорий или заказал .

Описание

Использование description () для категориальных данных приведет к аналогичным результатам. вывод в Series или DataFrame типа string .

 В [53]: cat = pd.Categorical ([«a», «c», «c», np.nan], Categories = [«b», «a», «c»])

В [54]: df = pd.DataFrame ({"cat": cat, "s": ["a", "c", "c", np.nan]})

В [55]: df.describe ()
Из [55]:
       кошка с
счет 3 3
уникальный 2 2
верх c c
частота 2 2

В [56]: df ["кот"]. Описать ()
Из [56]:
считать 3
уникальный 2
верх c
частота 2
Имя: cat, dtype: object
 

Работа с категориями

Категориальные данные содержат категорий и упорядоченных свойств, в которых перечислены их возможные значения и имеет ли значение порядок.Эти свойства выставлены как s.cat. категории и s.cat. заказаны . Если вы не сделаете это вручную укажите категории и порядок, они выводятся из переданных аргументов.

 В [57]: s = pd.Series (["a", "b", "c", "a"], dtype = "category")

В [58]: s.cat.categories
Out [58]: Index (['a', 'b', 'c'], dtype = 'object')

В [59]: s.cat.ordered
Out [59]: ложь
 

Также можно переходить по категориям в определенном порядке:

 В [60]: s = pd.Series (pd.Категориальный ([«a», «b», «c», «a»], Categories = [«c», «b», «a»]))

В [61]: s.cat.categories
Out [61]: Индекс (['c', 'b', 'a'], dtype = 'object')

В [62]: s.cat.ordered
Out [62]: ложь
 

Примечание

Новые категориальные данные не упорядочиваются автоматически. Вы должны явно pass orders = True , чтобы указать упорядоченный Категориальный .

Примечание

Результат unique () не всегда совпадает с результатом Series.cat.categories , потому что серия.unique () имеет несколько гарантий, а именно то, что он возвращает категории в порядке появления, и он включает только те значения, которые действительно присутствуют.

 В [63]: s = pd.Series (list ("babc")). Astype (CategoryDtype (list ("abcd")))

В [64]: s
Из [64]:
0 б
1 а
2 б
3 с
dtype: категория
Категории (4, объект): ['a', 'b', 'c', 'd']

# категории
В [65]: s.cat.categories
Out [65]: индекс (['a', 'b', 'c', 'd'], dtype = 'object')

# уникальный посетитель
В [66]: s.unique ()
Из [66]:
['b', 'a', 'c']
Категории (3, объект): ['b', 'a', 'c']
 

Переименование категорий

Переименование категорий осуществляется путем присвоения новых значений параметрам серии.cat.categories или с помощью rename_categories () метод:

 В [67]: s = pd.Series (["a", "b", "c", "a"], dtype = "category")

В [68]: s
Из [68]:
0 а
1 б
2 с
3 а
dtype: категория
Категории (3, объект): ['a', 'b', 'c']

В [69]: s.cat.categories = ["Группа% s"% g для g в s.cat.categories]

В [70]: s
Из [70]:
0 Группа А
1 Группа б
2 Группа c
3 Группа а
dtype: категория
Категории (3, объект): ["Группа a", "Группа b", "Группа c"]

В [71]: s = s.cat.rename_categories ([1, 2, 3])

В [72]: s
Из [72]:
0 1
1 2
2 3
3 1
dtype: категория
Категории (3, int64): [1, 2, 3]

# Вы также можете передать объект, похожий на dict, чтобы отобразить переименование
В [73]: s = s.cat.rename_categories ({1: "x", 2: "y", 3: "z"})

В [74]: s
Из [74]:
0 х
1 год
2 z
3 х
dtype: категория
Категории (3, объект): ['x', 'y', 'z']
 

Примечание

В отличие от фактора R, составляющего , категориальные данные могут иметь категории, отличные от строковых.

Примечание

Имейте в виду, что назначение новых категорий - это операция на месте, в то время как большинство других операций под Series.cat по умолчанию возвращает новый Series из dtype категории .

Категории должны быть уникальными, в противном случае возникает ошибка ValueError :

 В [75]: попробуйте:
   ....: s.cat.categories = [1, 1, 1]
   ....: кроме ValueError как e:
   ....: print ("ValueError:", str (e))
   ....:
ValueError: категориальные категории должны быть уникальными
 

Категории также не должны быть NaN или ValueError возникает:

 В [76]: попробуйте:
   ....: s.cat.categories = [1, 2, np.nan]
   ....: кроме ValueError как e:
   ....: print ("ValueError:", str (e))
   ....:
ValueError: категориальные категории не могут быть нулевыми
 

Добавление новых категорий

Добавление категорий может быть выполнено с помощью add_categories () метод:

 В [77]: s = s.cat.add_categories ([4])

В [78]: s.cat.categories
Выход [78]: Индекс (['x', 'y', 'z', 4], dtype = 'object')

В [79]: s
Из [79]:
0 х
1 год
2 z
3 х
dtype: категория
Категории (4, объект): ['x', 'y', 'z', 4]
 

Удаление категорий

Удаление категорий можно выполнить с помощью remove_categories () метод.Значения, которые удаляются заменены на нп.нан .:

 В [80]: s = s.cat.remove_categories ([4])

В [81]: s
Из [81]:
0 х
1 год
2 z
3 х
dtype: категория
Категории (3, объект): ['x', 'y', 'z']
 

Удаление неиспользуемых категорий

Также можно удалить неиспользуемые категории:

 В [82]: s = pd.Series (pd.Categorical (["a", "b", "a"], Categories = ["a", "b", "c", "d"]) )

В [83]: s
Из [83]:
0 а
1 б
2 а
dtype: категория
Категории (4, объект): ['a', 'b', 'c', 'd']

В [84]: с.cat.remove_unused_categories ()
Из [84]:
0 а
1 б
2 а
dtype: категория
Категории (2, объект): ['a', 'b']
 

Категории настроек

Если вы хотите удалить и добавить новые категории за один шаг (в котором есть преимущество в скорости) или просто установите для категорий заранее заданный масштаб, используйте set_categories () .

 В [85]: s = pd.Series (["один", "два", "четыре", "-"], dtype = "категория")

В [86]: s
Из [86]:
0 один
1 два
2 четыре
3 -
dtype: категория
Категории (4, объект): ['-', 'четыре', 'один', 'два']

В [87]: s = s.cat.set_categories (["один", "два", "три", "четыре"])

В [88]: s
Из [88]:
0 один
1 два
2 четыре
3 NaN
dtype: категория
Категории (4, объект): ['один', 'два', 'три', 'четыре']
 

Примечание

Имейте в виду, что Категориальный.set_categories () не может знать, пропущена ли какая-то категория намеренно или из-за неправильного написания или (в Python3) из-за разницы типов (например, NumPy S1 dtype и строки Python). Это может привести к неожиданному поведению!

Сортировка и заказ

Если упорядочены категориальные данные ( с.cat.ordered == True ), то порядок категорий имеет смысл и некоторые операции возможны. Если категориальный неупорядоченный, .min () /. Max () вызовет TypeError .

 В [89]: s = pd.Series (pd.Categorical (["a", "b", "c", "a"], orders = False))

В [90]: s.sort_values ​​(inplace = True)

В [91]: s = pd.Series (["a", "b", "c", "a"]). Astype (CategoryDtype (порядковый = True))

В [92]: s.sort_values ​​(inplace = True)

В [93]: s
Из [93]:
0 а
3 а
1 б
2 с
dtype: категория
Категории (3, объект): ['a' <'b' <'c']

В [94]: с.мин (), s.max ()
Из [94]: ('a', 'c')
 

Вы можете настроить упорядочение категориальных данных с помощью as_ordered () или неупорядоченные с помощью as_unordered () . Эти будут по умолчанию возвращает новый объект .

 В [95]: s.cat.as_ordered ()
Из [95]:
0 а
3 а
1 б
2 с
dtype: категория
Категории (3, объект): ['a' <'b' <'c']

В [96]: s.cat.as_unordered ()
Из [96]:
0 а
3 а
1 б
2 с
dtype: категория
Категории (3, объект): ['a', 'b', 'c']
 

Сортировка будет использовать порядок, определенный по категориям, а не какой-либо лексический порядок, присутствующий в типе данных.Это верно даже для строк и числовых данных:

 В [97]: s = pd.Series ([1, 2, 3, 1], dtype = "category")

В [98]: s = s.cat.set_categories ([2, 3, 1], заказанный = True)

В [99]: s
Из [99]:
0 1
1 2
2 3
3 1
dtype: категория
Категории (3, int64): [2 <3 <1]

В [100]: s.sort_values ​​(inplace = True)

В [101]: s
Из [101]:
1 2
2 3
0 1
3 1
dtype: категория
Категории (3, int64): [2 <3 <1]

В [102]: s.min (), s.max ()
Из [102]: (2, 1)
 

Повторный заказ

Изменение порядка категорий возможно через Категориальный.reorder_categories () и методы Категориальный.set_categories () . Для Category.reorder_categories () , все старые категории должны быть включены в новые категории, новые категории не допускаются. Это будет обязательно сделайте порядок сортировки таким же, как порядок категорий.

 В [103]: s = pd.Series ([1, 2, 3, 1], dtype = "category")

В [104]: s = s.cat.reorder_categories ([2, 3, 1], заказанный = True)

В [105]: s
Из [105]:
0 1
1 2
2 3
3 1
dtype: категория
Категории (3, int64): [2 <3 <1]

В [106]: с.sort_values ​​(inplace = True)

В [107]: s
Из [107]:
1 2
2 3
0 1
3 1
dtype: категория
Категории (3, int64): [2 <3 <1]

В [108]: s.min (), s.max ()
Из [108]: (2, 1)
 

Примечание

Обратите внимание на разницу между назначением новых категорий и изменением порядка категорий: первая переименовывает категории и, следовательно, отдельные значения в Series , но если первый позиция была отсортирована последней, переименованное значение все равно будет отсортировано последним. Изменение порядка означает, что способ сортировки значений впоследствии будет другим, но не отдельные значения в Серия изменены.

Примечание

Если Категориальный не заказан, Series.min () и Series.max () поднимут Ошибка типа . Числовые операции типа + , - , * , / и операции на их основе (например, Series.median () , которому потребуется вычислить среднее между двумя значениями, если длина массива есть даже) не работают и вызывают TypeError .

Многоколоночная сортировка

Категориальный столбец с заданным типом будет участвовать в сортировке по нескольким столбцам так же, как и другие столбцы.Порядок категорий определяется категориями этого столбца.

 В [109]: dfs = pd.DataFrame (
   .....: {
   .....: "A": pd.Categorical (
   .....: list ("bbeebbaa"),
   .....: Categories = ["e", "a", "b"],
   .....: order = True,
   .....:),
   .....: "B": [1, 2, 1, 2, 2, 1, 2, 1],
   .....:}
   .....:)
   .....:

В [110]: dfs.sort_values ​​(by = ["A", "B"])
Из [110]:
   А Б
2 e 1
3 e 2
7 а 1
6 а 2
0 б 1
5 б 1
1 б 2
4 б 2
 

Изменение порядка категорий изменяет будущую сортировку.

 В [111]: dfs ["A"] = dfs ["A"]. Cat.reorder_categories (["a", "b", "e"])

В [112]: dfs.sort_values ​​(by = ["A", "B"])
Из [112]:
   А Б
7 а 1
6 а 2
0 б 1
5 б 1
1 б 2
4 б 2
2 e 1
3 e 2
 

Сравнения

Сравнение категориальных данных с другими объектами возможно в трех случаях:

  • Сравнение равенства ( == и ! = ) со списковым объектом (список, серия, массив, …) Той же длины, что и категориальные данные.

  • Все сравнения ( == , ! = , > , > = , < и <= ) категориальных данных с другая категориальная серия, когда заказал == True и категории совпадают.

  • Все сравнения категориальных данных со скаляром.

Все другие сравнения, особенно «неравные» сравнения двух категорий с разными категории или категориальный объект с любым объектом, подобным списку, вызовет ошибку TypeError .

Примечание

Любые «неравные» сравнения категориальных данных с Series , np.array , list or категориальные данные с разными категориями или упорядочением вызовут ошибку TypeError , потому что пользовательский Порядок категорий можно интерпретировать двояко: первый с учетом заказывая и один без.

 В [113]: cat = pd.Series ([1, 2, 3]). Astype (CategoryDtype ([3, 2, 1], order = True))

В [114]: cat_base = pd.Series ([2, 2, 2]). Astype (КатегориальныйDtype ([3, 2, 1], упорядоченный = Истина))

В [115]: cat_base2 = pd.Series ([2, 2, 2]). Astype (Категориальный тип (упорядоченный = Истина))

В [116]: кошка
Из [116]:
0 1
1 2
2 3
dtype: категория
Категории (3, int64): [3 <2 <1]

В [117]: cat_base
Из [117]:
0 2
1 2
2 2
dtype: категория
Категории (3, int64): [3 <2 <1]

В [118]: cat_base2
Из [118]:
0 2
1 2
2 2
dtype: категория
Категории (1, int64): [2]
 

Сравнение с категорией с такими же категориями и упорядочением или со скалярными произведениями:

 В [119]: cat> cat_base
Из [119]:
0 Верно
1 ложь
2 ложь
dtype: bool

В [120]: cat> 2
Из [120]:
0 Верно
1 ложь
2 ложь
dtype: bool
 

Сравнение на равенство работает с любыми объектами в виде списка одинаковой длины и скаляров:

 В [121]: cat == cat_base
Из [121]:
0 ложно
1 Верно
2 ложь
dtype: bool

В [122]: cat == np.массив ([1, 2, 3])
Из [122]:
0 Верно
1 Верно
2 Верно
dtype: bool

В [123]: cat == 2
Из [123]:
0 ложно
1 Верно
2 ложь
dtype: bool
 

Это не работает, потому что категории не совпадают:

 В [124]: попробуйте:
   .....: кошка> cat_base2
   .....: кроме TypeError как e:
   .....: print ("TypeError:", str (e))
   .....:
TypeError: категории можно сравнивать только в том случае, если «категории» совпадают.
 

Если вы хотите провести «неравное» сравнение категориального ряда со списковым объектом что не является категориальными данными, вам нужно быть явным и преобразовать категориальные данные обратно в исходные значения:

 В [125]: base = np.массив ([1, 2, 3])

В [126]: попробуйте:
   .....: кот> база
   .....: кроме TypeError как e:
   .....: print ("TypeError:", str (e))
   .....:
TypeError: невозможно сравнить категориальное значение для op __gt__ с типом .
Если вы хотите сравнить значения, используйте 'np.asarray (cat)  other'.

В [127]: np.asarray (cat)> base
Out [127]: массив ([False, False, False])
 

При сравнении двух неупорядоченных категорий с одинаковыми категориями порядок не учитывается:

 В [128]: c1 = pd.Категориальный (["a", "b"], категории = ["a", "b"], упорядоченный = False)

В [129]: c2 = pd.Categorical (["a", "b"], Categories = ["b", "a"], orders = False)

В [130]: c1 == c2
Выход [130]: массив ([True, True])
 

Операции

Помимо Series.min () , Series.max () и Series.mode () , с категориальными данными возможны следующие операции:

Методы серии , такие как Series.value_counts () , будут использовать все категории, даже если каких-то категорий нет в данных:

 В [131]: s = pd.Серии (pd.Categorical (["a", "b", "c", "c"], Categories = ["c", "a", "b", "d"]))

В [132]: s.value_counts ()
Из [132]:
c 2
а 1
б 1
d 0
dtype: int64
 

DataFrame методы, такие как DataFrame.sum () , также показывают «неиспользуемые» категории.

 В [133]: columns = pd.Categorical (
   .....: ["Один", "Один", "Два"], категории = ["Один", "Два", "Три"], упорядоченный = True
   .....:)
   .....:

В [134]: df = pd.DataFrame (
   .....: данные = [[1, 2, 3], [4, 5, 6]],
   .....: columns = pd.MultiIndex.from_arrays ([["A", "B", "B"], columns]),
   .....:)
   .....:

В [135]: df.sum (axis = 1, level = 1)
Из [135]:
   Один два три
0 3 3 0
1 9 6 0
 

Groupby также покажет «неиспользуемые» категории:

 В [136]: cats = pd.Categorical (
   .....: ["a", "b", "b", "b", "c", "c", "c"], Categories = ["a", "b", "c" , "d"]
   .....:)
   .....:

В [137]: df = pd.DataFrame ({"коты": коты, "значения": [1, 2, 2, 2, 3, 4, 5]})

В [138]: df.groupby ("кошки"). mean ()
Из [138]:
      значения
кошки
а 1.0
b 2.0
в 4,0
d NaN

В [139]: cats2 = pd.Categorical (["a", "a", "b", "b"], Categories = ["a", "b", "c"])

В [140]: df2 = pd.DataFrame (
   .....: {
   .....: "коты": cats2,
   .....: "B": ["c", "d", "c", "d"],
   .....: "значения": [1, 2, 3, 4],
   .....:}
   .....:)
   .....:

В [141]: df2.groupby (["коты", "B"]). Mean ()
Из [141]:
        значения
кошки B
а в 1.0
     d 2,0
б в 3,0
     d 4,0
c c NaN
     d NaN
 

Сводные таблицы:

 В [142]: raw_cat = pd.Categorical ([«a», «a», «b», «b»], Categories = [«a», «b», «c»])

В [143]: df = pd.DataFrame ({"A": raw_cat, "B": ["c", "d", "c", "d"], "values": [1, 2, 3 , 4]})

В [144]: pd.pivot_table (df, values ​​= "values", index = ["A", "B"])
Из [144]:
     значения
А Б
а в 1
  d 2
б в 3
  d 4
 

Обработка данных

Оптимизированные методы доступа к данным pandas .loc , .iloc , .at и .iat , работать как обычно. Единственная разница - это тип возвращаемого значения (для получения) и что могут быть присвоены только значения уже в категории .

Получение

Если операция нарезки возвращает либо DataFrame , либо столбец типа серии , сохраняется категория категории dtype.

 В [145]: idx = pd.Index ([«h», «i», «j», «k», «l», «m», «n»])

В [146]: cats = pd.Серии ([«a», «b», «b», «b», «c», «c», «c»], dtype = «category», index = idx)

В [147]: values ​​= [1, 2, 2, 2, 3, 4, 5]

В [148]: df = pd.DataFrame ({"коты": коты, "значения": значения}, index = idx)

В [149]: df.iloc [2: 4,:]
Из [149]:
  ценности кошек
j b 2
k b 2

В [150]: df.iloc [2: 4,:]. Dtypes
Из [150]:
категория кошек
значения int64
dtype: объект

В [151]: df.loc ["h": "j", "cats"]
Из [151]:
ч а
я б
j b
Имя: кошки, dtype: категория
Категории (3, объект): ['a', 'b', 'c']

В [152]: df [df ["cats"] == "b"]
Из [152]:
  ценности кошек
я б 2
j b 2
k b 2
 

Примером, когда тип категории не сохраняется, является использование одного единственного row: результирующий Series имеет dtype object :

 # получить полную строку "h" как серию
В [153]: df.loc ["ч",:]
Из [153]:
кошки
значения 1
Имя: h, dtype: object
 

Возврат одного элемента из категориальных данных также вернет значение, а не категориальный длиной «1».

 В [154]: df.iat [0, 0]
Из [154]: 'а'

В [155]: df ["коты"]. Cat.categories = ["x", "y", "z"]

В [156]: df.at ["h", "cats"] # возвращает строку
Out [156]: 'x'
 

Примечание

В отличие от функции R фактор , где фактор (c (1,2,3)) [1] возвращает одно значение , коэффициент .

Чтобы получить одно значение Series типа category , вы передаете список с одно значение:

 В [157]: df.loc [["ч"], "кошки"]
Из [157]:
h x
Имя: кошки, dtype: категория
Категории (3, объект): ['x', 'y', 'z']
 

Средства доступа к строке и дате и времени

Аксессоры .dt и .str будут работать, если s.cat.categories из соответствующий тип:

 В [158]: str_s = pd.Series (list ("aabb"))

В [159]: str_cat = str_s.astype ("категория")

В [160]: str_cat
Из [160]:
0 а
1 а
2 б
3 б
dtype: категория
Категории (2, объект): ['a', 'b']

В [161]: str_cat.str.contains ("a")
Из [161]:
0 Верно
1 Верно
2 ложь
3 ложно
dtype: bool

В [162]: date_s = pd.Series (pd.date_range ("01.01.2015", периоды = 5))

В [163]: date_cat = date_s.astype ("категория")

В [164]: date_cat
Из [164]:
0 01.01.2015
1 2015-01-02
2 2015-01-03
3 2015-01-04
4 2015-01-05
dtype: категория
Категории (5, datetime64 [ns]): [2015-01-01, 2015-01-02, 2015-01-03, 2015-01-04, 2015-01-05]

В [165]: date_cat.dt.day
Из [165]:
0 1
1 2
2 3
3 4
4 5
dtype: int64
 

Примечание

Возвращенный Series (или DataFrame ) имеет тот же тип, как если бы вы использовали .str. / .dt. на Series этого типа (а не тип категория !).

Это означает, что возвращаемые значения из методов и свойств на методах доступа Series и возвращаемые значения из методов и свойств в средствах доступа этого Серия преобразована в одну из категории будет равна:

 В [166]: ret_s = str_s.str.contains ("а")

В [167]: ret_cat = str_cat.str.contains ("a")

В [168]: ret_s.dtype == ret_cat.dtype
Out [168]: Верно

В [169]: ret_s == ret_cat
Из [169]:
0 Верно
1 Верно
2 Верно
3 Верно
dtype: bool
 

Примечание

Работа выполняется на категории , а затем конструируется новая серия . Это некоторое влияние на производительность, если у вас есть строка типа Series , где много элементов повторяются (то есть количество уникальных элементов в серии намного меньше, чем длина серии ).В этом случае может быть быстрее преобразовать исходный Series к одному из типов категории и используйте на нем .str. или .dt. .

Настройка

Установка значений в категориальном столбце (или для серии ) работает, пока значение включено в категории :

 В [170]: idx = pd.Index ([«h», «i», «j», «k», «l», «m», «n»])

В [171]: cats = pd.Categorical (["a", "a", "a", "a", "a", "a", "a"], Categories = ["a", "b "])

В [172]: values ​​= [1, 1, 1, 1, 1, 1, 1]

В [173]: df = pd.DataFrame ({"коты": коты, "значения": значения}, индекс = idx)

В [174]: df.iloc [2: 4,:] = [["b", 2], ["b", 2]]

В [175]: df
Из [175]:
  ценности кошек
ч а 1
я 1
j b 2
k b 2
л а 1
м а 1
п а 1

В [176]: попробуйте:
   .....: df.iloc [2: 4,:] = [["c", 3], ["c", 3]]
   .....: кроме ValueError как e:
   .....: print ("ValueError:", str (e))
   .....:
ValueError: невозможно установить элемент в категории с новой категорией, сначала установите категории
 

Установка значений путем назначения категориальных данных также будет проверять соответствие категорий :

 В [177]: df.loc ["j": "k", "cats"] = pd.Categorical (["a", "a"], Categories = ["a", "b"])

В [178]: df
Из [178]:
  ценности кошек
ч а 1
я 1
j a 2
к а 2
л а 1
м а 1
п а 1

В [179]: попробуйте:
   .....: df.loc ["j": "k", "cats"] = pd.Categorical (["b", "b"], Categories = ["a", "b", "c" "])
   .....: кроме ValueError как e:
   .....: print ("ValueError:", str (e))
   .....:
ValueError: невозможно установить Категорию с другим без идентичных категорий
 

При присвоении Категориального частям столбца других типов будут использоваться значения:

 В [180]: df = pd.DataFrame ({"a": [1, 1, 1, 1, 1], "b": ["a", "a", "a", "a", "a"]})

В [181]: df.loc [1: 2, «a»] = pd.Categorical ([«b», «b»], Categories = [«a», «b»])

В [182]: df.loc [2: 3, «b»] = pd.Categorical ([«b», «b»], Categories = [«a», «b»])

В [183]: df
Из [183]:
   а б
0 1 а
1 б а
2 б б
3 1 б
4 1 а

В [184]: df.dtypes
Из [184]:
объект
объект b
dtype: объект
 

Слияние / объединение

По умолчанию объединение Series или DataFrames , которые содержат одинаковые категории дает категорию dtype, в противном случае результаты будут зависеть от dtype базовых категорий.Слияния, приводящие к некатегориальному dtypes, вероятно, будут иметь более высокое использование памяти. Используйте .astype или union_categoricals для обеспечения результатов категории .

 В [185]: from pandas.api.types import union_categoricals

# одинаковые категории
В [186]: s1 = pd.Series (["a", "b"], dtype = "category")

В [187]: s2 = pd.Series (["a", "b", "a"], dtype = "category")

В [188]: pd.concat ([s1, s2])
Из [188]:
0 а
1 б
0 а
1 б
2 а
dtype: категория
Категории (2, объект): ['a', 'b']

# разные категории
В [189]: s3 = pd.Серия (["b", "c"], dtype = "category")

В [190]: pd.concat ([s1, s3])
Из [190]:
0 а
1 б
0 б
1 с
dtype: объект

# Выходной dtype выводится на основе значений категорий
В [191]: int_cats = pd.Series ([1, 2], dtype = "category")

В [192]: float_cats = pd.Series ([3.0, 4.0], dtype = "category")

В [193]: pd.concat ([int_cats, float_cats])
Из [193]:
0 1.0
1 2,0
0 3,0
1 4,0
dtype: float64

В [194]: pd.concat ([s1, s3]). Astype ("категория")
Из [194]:
0 а
1 б
0 б
1 с
dtype: категория
Категории (3, объект): ['a', 'b', 'c']

В [195]: union_categoricals ([s1.массив, s3.array])
Из [195]:
['a', 'b', 'b', 'c']
Категории (3, объект): ['a', 'b', 'c']
 

В следующей таблице приведены результаты объединения Категорий :

arg1

arg2

идентичный

результат

категория

категория

Правда

категория

категория (объект)

категория (объект)

Ложь

объект (предполагается dtype)

категория (внутр.)

категория (плавающая)

Ложь

с плавающей точкой (выводится dtype)

См. Также раздел о типах слияния для примечаний о сохранение типов слияния и производительности.

Объединение

Если вы хотите объединить категории, которые не обязательно имеют одинаковые категорий, функция union_categoricals () будет объединить список категорий. Новые категории будут объединением категории объединяются.

 В [196]: from pandas.api.types import union_categoricals

В [197]: a = pd.Categorical (["b", "c"])

В [198]: b = pd.Categorical (["a", "b"])

В [199]: union_categoricals ([a, b])
Из [199]:
['b', 'c', 'a', 'b']
Категории (3, объект): ['b', 'c', 'a']
 

По умолчанию результирующие категории будут отсортированы как они появляются в данных.Если вы хотите, чтобы категории для лексической сортировки используйте аргумент sort_categories = True .

 В [200]: union_categoricals ([a, b], sort_categories = True)
Из [200]:
['b', 'c', 'a', 'b']
Категории (3, объект): ['a', 'b', 'c']
 

union_categoricals также работает с «легким» случаем объединения двух категории тех же категорий и информация о заказе (например, для чего вы также можете добавить ).

 В [201]: a = pd.Categorical (["a", "b"], order = True)

В [202]: b = pd.Категориальный (["a", "b", "a"], упорядоченный = True)

В [203]: union_categoricals ([a, b])
Из [203]:
['a', 'b', 'a', 'b', 'a']
Категории (2, объект): ['a' <'b']
 

В приведенном ниже примере возникает ошибка TypeError , поскольку категории упорядочены и не идентичны.

 В [1]: a = pd.Categorical (["a", "b"], order = True)
В [2]: b = pd.Categorical (["a", "b", "c"], order = True)
В [3]: union_categoricals ([a, b])
Из [3]:
TypeError: для объединения упорядоченных категорий все категории должны быть одинаковыми
 

Упорядоченные категории с разными категориями или порядками могут быть объединены с использованием аргумента ignore_ordered = True .

 В [204]: a = pd.Categorical (["a", "b", "c"], заказанный = True)

В [205]: b = pd.Categorical (["c", "b", "a"], order = True)

В [206]: union_categoricals ([a, b], ignore_order = True)
Из [206]:
['a', 'b', 'c', 'c', 'b', 'a']
Категории (3, объект): ['a', 'b', 'c']
 

union_categoricals () также работает с Категориальный индекс или Series , содержащий категориальные данные, но обратите внимание, что результирующий массив всегда будет простым Категориальный :

 В [207]: a = pd.Серия (["b", "c"], dtype = "category")

В [208]: b = pd.Series (["a", "b"], dtype = "category")

В [209]: union_categoricals ([a, b])
Из [209]:
['b', 'c', 'a', 'b']
Категории (3, объект): ['b', 'c', 'a']
 

Примечание

union_categoricals может перекодировать целочисленные коды для категорий при объединении категорий. Вероятно, это то, что вы хотите, но если вы полагаетесь на точную нумерацию категорий, будьте осведомленный.

 В [210]: c1 = pd.Categorical (["b", "c"])

В [211]: c2 = pd.Категориальный (["a", "b"])

В [212]: c1
Из [212]:
['до н.э']
Категории (2, объект): ['b', 'c']

# "b" кодируется как 0
В [213]: c1.codes
Выход [213]: массив ([0, 1], dtype = int8)

В [214]: c2
Из [214]:
['a', 'b']
Категории (2, объект): ['a', 'b']

# "b" кодируется как 1
В [215]: c2.codes
Выход [215]: массив ([0, 1], dtype = int8)

В [216]: c = union_categoricals ([c1, c2])

В [217]: c
Из [217]:
['b', 'c', 'a', 'b']
Категории (3, объект): ['b', 'c', 'a']

# "b" везде кодируется на 0, так же, как c1, отличается от c2
В [218]: c.коды
Выход [218]: массив ([0, 1, 2, 0], dtype = int8)
 

Получение / вывод данных

Вы можете записать данные, содержащие категорию dtypes, в HDFStore . См. Здесь пример и предостережения.

Также можно записывать и читать данные из файлов формата Stata . См. Здесь пример и предостережения.

Запись в файл CSV преобразует данные, эффективно удаляя любую информацию о категориальные (категории и упорядочивание).Поэтому, если вы прочитаете CSV-файл, вам нужно будет преобразовать соответствующие столбцы вернуться к категории и назначить правильные категории и категории упорядочивания.

 В [219]: import io

В [220]: s = pd.Series (pd.Categorical ([«a», «b», «b», «a», «a», «d»]))

# переименовать категории
В [221]: s.cat.categories = ["очень хорошо", "хорошо", "плохо"]

# изменить порядок категорий и добавить недостающие категории
В [222]: s = s.cat.set_categories ([«очень плохо», «плохо», «средний», «хорошо», «очень хорошо»])

В [223]: df = pd.DataFrame ({"коты": s, "валс": [1, 2, 3, 4, 5, 6]})

В [224]: csv = io.StringIO ()

В [225]: df.to_csv (csv)

В [226]: df2 = pd.read_csv (io.StringIO (csv.getvalue ()))

В [227]: df2.dtypes
Из [227]:
Безымянный: 0 int64
объект кошек
vals int64
dtype: объект

В [228]: df2 ["коты"]
Из [228]:
0 очень хорошо
1 хорошо
2 хорошо
3 очень хорошо
4 очень хорошо
5 плохо
Имя: коты, dtype: объект

# Повторить категорию
В [229]: df2 ["коты"] = df2 ["коты"]. Astype ("категория")

В [230]: df2 ["коты"].cat.set_categories (
   .....: ["очень плохо", "плохо", "средний", "хорошо", "очень хорошо"], inplace = True
   .....:)
   .....:

В [231]: df2.dtypes
Из [231]:
Безымянный: 0 int64
категория кошек
vals int64
dtype: объект

В [232]: df2 ["коты"]
Из [232]:
0 очень хорошо
1 хорошо
2 хорошо
3 очень хорошо
4 очень хорошо
5 плохо
Имя: кошки, dtype: категория
Категории (5, объект): [«очень плохо», «плохо», «средне», «хорошо», «очень хорошо»]
 

То же самое касается записи в базу данных SQL с помощью to_sql .

Отсутствуют данные

pandas в основном использует значение np.nan для представления отсутствующих данных. Это по по умолчанию не включается в вычисления. См. Раздел «Отсутствующие данные».

Отсутствующие значения следует включать , а не в категории категории , только в значениях . Вместо этого понимается, что NaN отличается, и это всегда возможно. При работе с категориальными кодами пропущенные значения всегда будут код -1 .

 В [233]: s = pd.Series (["a", "b", np.nan, "a"], dtype = "category")

# только две категории
В [234]: s
Из [234]:
0 а
1 б
2 NaN
3 а
dtype: категория
Категории (2, объект): ['a', 'b']

В [235]: s.cat.codes
Из [235]:
0 0
1 1
2-1
3 0
dtype: int8
 

Методы работы с недостающими данными, например isna () , fillna () , дропна () , все нормально работают:

 В [236]: s = pd.Series (["a", "b", np.nan], dtype = "category")

В [237]: s
Из [237]:
0 а
1 б
2 NaN
dtype: категория
Категории (2, объект): ['a', 'b']

В [238]: pd.исна (ы)
Из [238]:
0 ложно
1 ложь
2 Верно
dtype: bool

В [239]: s.fillna ("а")
Из [239]:
0 а
1 б
2 а
dtype: категория
Категории (2, объект): ['a', 'b']
 

Различия с коэффициентом

R

Наблюдаются следующие отличия от функций фактора R:

  • Уровни R называются категориями .

  • R's уровни всегда относятся к типу string, а категории в пандах могут иметь любой dtype.

  • Невозможно указать ярлыки во время создания. Используйте s.cat.rename_categories (new_labels) после.

  • В отличие от функции R фактор , использование категориальных данных в качестве единственного входа для создания новая категориальная серия не удалит неиспользуемые категории, а создаст новую категориальную серию что равно пропущенному за один!

  • R позволяет включать пропущенные значения в свои уровни (категории панд ).панды не допускает категорий NaN , но пропущенные значения все еще могут находиться в значениях .

Попался

Использование памяти

Использование памяти категориальным пропорционально количеству категорий плюс длина данных. В отличие, объект dtype - это константа, умноженная на длину данных.

 В [240]: s = pd.Series (["foo", "bar"] * 1000)

# объект dtype
В [241]: s.nbytes
Из [241]: 16000

# категория dtype
В [242]: с.astype ("категория"). nbytes
Из [242]: 2016
 

Примечание

Если количество категорий приближается к длине данных, Категориальный будет использовать почти то же или больше памяти, чем эквивалентное представление объекта dtype .

 В [243]: s = pd.Series (["foo% 04d"% i для i в диапазоне (2000)])

# объект dtype
В [244]: s.nbytes
Из [244]: 16000

# категория dtype
В [245]: s.astype ("категория"). Nbytes
Из [245]: 20000
 

Категориальный не является массивом numpy

В настоящее время категориальные данные и лежащий в их основе Категориальный реализованы как Python объект, а не как низкоуровневый массив NumPy dtype.Это приводит к некоторым проблемам.

Сам NumPy ничего не знает о новом dtype :

 В [246]: попробуйте:
   .....: np.dtype ("категория")
   .....: кроме TypeError как e:
   .....: print ("TypeError:", str (e))
   .....:
TypeError: тип данных "категория" не распознан

В [247]: dtype = pd.Categorical (["a"]). Dtype

В [248]: попробуйте:
   .....: np.dtype (dtype)
   .....: кроме TypeError как e:
   .....: print ("TypeError:", str (e))
   .....:
TypeError: не удается интерпретировать "Категорический тип (категории = ['a'], упорядоченный = Ложь)" как тип данных.
 

Dtype сравнений работы:

 В [249]: dtype == np.str_
Out [249]: ложь

В [250]: np.str_ == dtype
Out [250]: ложь
 

Чтобы проверить, содержит ли серия категориальные данные, используйте hasattr (s, 'cat') :

 В [251]: hasattr (pd.Series (["a"], dtype = "category"), "cat")
Out [251]: Верно

В [252]: hasattr (pd.Series (["a"]), "cat")
Out [252]: ложь
 

Использование функций NumPy на Series типа category не должно работать как Category не являются числовыми данными (даже если .категории является числовым).

 В [253]: s = pd.Series (pd.Categorical ([1, 2, 3, 4]))

В [254]: попробуйте:
   .....: np.sum (s)
   .....: кроме TypeError как e:
   .....: print ("TypeError:", str (e))
   .....:
TypeError: 'Категориальный' не реализует сокращение 'sum'
 

dtype in apply

pandas в настоящее время не сохраняет dtype в функциях применения: если вы применяете по строкам, вы получаете a Series of object dtype (то же, что и получение строки -> получение одного элемента вернет базовый тип) и применение по столбцам также преобразуется в объект. NaN Значения не изменяются. Вы можете использовать fillna для обработки пропущенных значений перед применением функции.

 В [255]: df = pd.DataFrame (
   .....: {
   .....: "a": [1, 2, 3, 4],
   .....: "b": ["a", "b", "c", "d"],
   .....: "коты": pd.Categorical ([1, 2, 3, 2]),
   .....:}
   .....:)
   .....:

В [256]: df.apply (лямбда-строка: тип (строка ["коты"]), ось = 1)
Из [256]:
0 <класс 'int'>
1 <класс 'int'>
2 <класс 'int'>
3 <класс 'int'>
dtype: объект

В [257]: df.применить (лямбда-столбец: col.dtype, axis = 0)
Из [257]:
int64
объект b
категория кошек
dtype: объект
 

Категориальный указатель

Категориальный индекс - это тип индекса, который полезен для поддержки индексация с дубликатами. Это контейнер вокруг Категориальный и позволяет эффективно индексировать и хранить индекс с большим количеством повторяющихся элементов. См. Расширенную документацию по индексированию для более подробной информации. объяснение.

Установка индекса создаст Категориальный индекс :

 В [258]: cats = pd.Категориальный ([1, 2, 3, 4], категории = [4, 2, 3, 1])

В [259]: strings = ["a", "b", "c", "d"]

В [260]: values ​​= [4, 2, 3, 1]

В [261]: df = pd.DataFrame ({"строки": строки, "значения": значения}, индекс = кошки)

В [262]: df.index
Выход [262]: Категориальный индекс ([1, 2, 3, 4], категории = [4, 2, 3, 1], упорядоченный = False, dtype = 'category')

# Теперь сортировка по категориям
В [263]: df.sort_index ()
Из [263]:
  строковые значения
4 д 1
2 б 2
3 с 3
1 а 4
 

Побочные эффекты

Построение Series из Категориального не будет копировать ввод Категориальный .Это означает, что изменения в серии в большинстве случаев будут изменить исходный Категориальный :

 В [264]: cat = pd.Categorical ([1, 2, 3, 10], Categories = [1, 2, 3, 4, 10])

В [265]: s = pd.Series (cat, name = "cat")

В [266]: кот
Из [266]:
[1, 2, 3, 10]
Категории (5, int64): [1, 2, 3, 4, 10]

В [267]: s.iloc [0: 2] = 10

В [268]: кот
Из [268]:
[10, 10, 3, 10]
Категории (5, int64): [1, 2, 3, 4, 10]

В [269]: df = pd.DataFrame (s)

В [270]: df ["cat"]. Cat.categories = [1, 2, 3, 4, 5]

В [271]: cat
Из [271]:
[5, 5, 3, 5]
Категории (5, int64): [1, 2, 3, 4, 5]
 

Используйте copy = True , чтобы предотвратить такое поведение, или просто не используйте повторно Категориальные элементы :

 В [272]: cat = pd.Категориальный ([1, 2, 3, 10], категории = [1, 2, 3, 4, 10])

В [273]: s = pd.Series (cat, name = "cat", copy = True)

В [274]: кот
Из [274]:
[1, 2, 3, 10]
Категории (5, int64): [1, 2, 3, 4, 10]

В [275]: s.iloc [0: 2] = 10

В [276]: кот
Из [276]:
[1, 2, 3, 10]
Категории (5, int64): [1, 2, 3, 4, 10]
 

Примечание

Это также происходит в некоторых случаях, когда вы предоставляете массив NumPy вместо Категориальный : использование массива int (например, np.array ([1,2,3,4]) ) будет демонстрировать такое же поведение при использовании массив строк (например,грамм. np.array (["a", "b", "c", "a"]) ) не будет.

Ulta Beauty относится к категории вьющихся и текстурированных волос с Curlbox

.

Ulta Beauty впервые копается в коробках для подписки.

В пятницу косметический ритейлер объявил о своем партнерстве с компанией Curlbox с ежемесячной подпиской, базирующейся в Атланте и основанной Майликом Тиле. Вместе Ulta Beauty и Curlbox создали три коробки, которые будут доступны на Curlbox.com.Коробки, которые будут продаваться по цене от 25 до 30 долларов, а стоимость - 98 долларов, будут выпущены в мае, в начале осени и на праздники. Будут представлены бренды средств ухода за волосами Ulta Beauty, такие как Tracee Ellis Ross ’Pattern и Mane Choice. Ежемесячное предложение Curlbox обычно включает один бренд в месяц и распродается в тот же день, когда оно выходит в цифровом виде. В настоящее время у компании есть список ожидания из 153 000 человек.

«Мы думали: как нам продемонстрировать этот невероятный ассортимент, который мы создали за последние несколько лет? А также: Как сделать так, чтобы наши кудрявые, текстурированные [волосы] гости могли попробовать больше наших брендов », - сказала Джессика Филипс Перес, вице-президент по мерчандайзингу в Ulta Beauty.«Майлейк создал невероятное сообщество и имеет такой голос с этим гостем, поэтому мы подумали, что это прекрасная возможность».

В рамках пилотной программы клиенты будут направлены на сайт Curlbox, чтобы максимально увеличить продажи и возможности роста для инди-бренда. Ulta Beauty будет поддерживать запуск через маркетинг, включая социальные и цифровые каналы. По словам Филипса Переса, также есть потенциал для запуска Ulta Beauty в магазинах. В 2018 году косметическая компания Birchbox по подписке запустила в Walgreens, чтобы обеспечить больший доступ для своих клиентов.

Teele основала Curlbox после того, как в 2011 году лично перешла к естественному виду. Она была вдохновлена ​​на создание цифрового сообщества, в основном после личных встреч с вьющимися волосами в Атланте. «На этих встречах я встречал всех этих разных женщин и слышал о том, как далеко они продвинулись. Я подумала: «Должно быть решение для кого-то, кто так чувствует». Я знаю это чувство и это, как чернокожая женщина. Но должен был быть способ восполнить этот пробел ».

Не имея связей с красотами, Teele использовала коллекции SheaMoisture, L’Oréal, Procter & Gamble, Unilever и других.И в отличие от модели подписки, в основном ориентированной на образцы, Curlbox предлагает полноразмерный продукт и глубокий контент, ориентированный на одну торговую марку на коробку.

Недавно Ulta Beauty расширила свой фигурный и фактурный ассортимент, добавив Briogeo и Camille Rose. У него также есть планы удвоить свой принадлежащий Black ассортимент за счет обязательств по разнообразию, объявленных в феврале. Уход за волосами был жизненно важен для Ulta Beauty в прошлом году. Согласно объявленным в марте квартальным результатам, средства на уход за волосами выросли до 20% от чистых продаж, а косметика снизилась с 48% до 41%.

«Фактура и завитки, в частности, были столпами Ulta Beauty и важным фактором роста всех волос. Это партнерство абсолютно поддерживает это, потому что я чувствую себя кудрявой девушкой, покупатель текстурированных волос всегда ищет что-то новое и лучшее », - сказал Филипс Перес. «Таким образом, доступ с помощью такой программы выборки позволяет кому-то попробовать несколько брендов и продуктов, некоторые из которых, возможно, они еще не пробовали, по действительно отличной цене. Это действительно подводит нас к нашей текстурной стратегии; это дает нам шанс внедрить некоторые новые бренды, о которых люди не слышали, и связать их с нашими устаревшими брендами.”

Как выбрать категории Google Мой бизнес (с помощью классных инструментов!)

Взгляды автора полностью его или ее собственные (за исключением маловероятного случая гипноза) и могут не всегда отражать взгляды Moz.

Изображение предоставлено: Дэнни Стернфельд

При создании списка в Google Мой бизнес для вашей местной компании принятие решения на основе данных является одним из наиболее важных шагов, которые вы должны предпринять. Насколько важны выбранные вами категории?

Наш недавний обзор состояния местной SEO-индустрии в 2020 году показал, что из всех факторов элементы GMB (которые включают категории) оказывают наибольшее влияние на рейтинг местных пакетов.Выбирайте с умом, и эти элементы помогут гарантировать, что Google рассматривает вас как кандидата для возможного включения в список поисковых фраз. Сделайте неправильный выбор, и вы можете исключить себя из этой жизненно важной видимости.

Категории Google также могут играть роль в определении того, какие функции будут доступны вам в вашем бизнес-профиле Google / листинге Google. Например, если вы отнесены к категории «отель», вы не сможете использовать Сообщения Google. Если вы отнесены к учебному заведению, вы не сможете получать отзывы.Между тем, если вы относите свой бизнес к категории автосалонов, вам будет разрешено иметь несколько списков для ваших отделов, и автомобиль заставляет вас продавать.

Категории влияют на атрибуты, которые будут связаны с вашим бизнесом, на меню, которые вы можете использовать, на то, доступны ли вам кнопки бронирования и отображены ли у вас основные или второстепенные часы работы.

Короче говоря, ваш выбор основной и дополнительной категорий во многом способствует пониманию компанией Google вашего бизнеса и управлению им.Поскольку так много внимания уделяется правильной категоризации, давайте предоставим вам возможность исследовать свои варианты, как профессионалы!

Когда и где выбирать категории Google

При создании нового списка в Google My Business одно из первых, что Google просит вас сделать, - это выбрать категорию:

И, как говорит Google, вы можете изменить и добавить другие категории позже. Получив доступ к панели управления GMB, вы найдете свои категории, щелкнув вкладку «Информация» в левом меню и посмотрев прямо под названием своей компании, где значок карандаша позволит вам редактировать свои категории:

Вы находитесь позволяет выбрать до 10 категорий.Считается, что ваша основная категория имеет наибольшее влияние на ваш местный рейтинг, и ее следует выбирать с особой осторожностью:

. Вы можете редактировать свои категории на панели инструментов GMB в любое время, когда захотите, понимая, что это может существенно изменить рейтинги, которые вы испытываете по различным поисковым фразам.

Как выбрать категории Google

Вот пошаговая инструкция по выбору категорий Google, наиболее подходящих для вашего бизнеса, с помощью некоторых отличных инструментов.

1) Определите наиболее важные поисковые фразы

Сначала создайте список, который включает:

  • Тип бизнеса, которым вы работаете (например, «супермаркет», «медицинский центр», «ресторан»), и его варианты. Например, если вы адвокат, перечислите подтипы, связанные с вашей фирмой, такие как «адвокат по травмам» или «налоговый поверенный». Если вы владеете рестораном, укажите, является ли он «итальянским рестораном», «семейным рестораном» и другими критериями. Супермаркет также может быть «продуктовым магазином» или «магазином натуральных продуктов».
  • Полный перечень предлагаемых вами товаров и услуг. Ваша компания, занимающаяся ОВКВ, предлагает ремонт обогревателей, ремонт кондиционеров и т. Д. Ваша ландшафтная компания предлагает услуги по уходу за деревьями, ландшафтный дизайн, работы во дворе и т. Д. В вашем магазине одежды вы найдете мужскую одежду, обувь, украшения и т. Д.

Затем возьмите свой список ключевые слова и введите их в один из бесплатных или платных инструментов исследования ключевых слов, чтобы определить, какие термины имеют наибольший потенциальный объем поиска. Например, инструмент подсказки ключевых слов Moz в Moz Keyword Explorer может помочь вам определить разницу в объеме поиска между двумя терминами, такими как «мексиканский ресторан» и«Taco shop»:

Запишите объем поиска по каждому запросу в вашем списке.

Наконец, сократите свой список до меньшего набора терминов, которые сочетают наибольший объем поиска с наиболее релевантными и важными для вашей компании. В большинстве случаев это список, к которому вы будете двигаться дальше, хотя в некоторых случаях вы бы выбрали таргетинг на поисковые фразы с меньшим объемом, потому что они либо а) менее конкурентоспособны, или б) более точное описание того, что вы бизнес есть.

2) Определите, какие категории используют ваши рыночные конкуренты для ваших наиболее важных поисковых фраз.

Теперь отправьте ваш уточненный список поисковых фраз в Google и начните их поиск на вашем местном рынке. Ваш местный рынок состоит из местоположения ваших клиентов по отношению к местоположению вашего бизнеса. Это может быть только ваш район или целый город или несколько соседних городов, в зависимости от:

  • вашей бизнес-модели
  • Расстояние, с которого клиенты готовы путешествовать, чтобы добраться до вашего бизнеса
  • расстояние, с которого, по мнению Google, клиенты готовы путешествовать, чтобы добраться до вашего предприятия

Например, у кофейни может быть довольно небольшой местный рынок, если большинство ее клиентов приезжают в поисках быстрой и удобной чашки кофе.Между тем, в парке развлечений может быть гораздо больший местный рынок, потому что люди готовы пойти на большее расстояние, чтобы его посетить. Результаты Google на местах все чаще отражают их понимание намерений по-разному для разных бизнес-моделей.

Вот скриншот рынка, который интернет-поисковик в районе Норт-Бич в Сан-Франциско может увидеть, ищут ли они «пиццу рядом со мной»:

Тем временем может быть показан поисковик в Калифорнии, ищущий «спортивную арену» рынок, охватывающий более половины штата:

Теперь составьте список всех конкурентов, которых вы обнаружили на своем рынке при поиске по месту нахождения вашего бизнеса.

Затем убедитесь, что вы используете браузер Chrome, и зайдите в интернет-магазин Chrome, чтобы загрузить потрясающее, бесплатное новое расширение под названием GMBspy. Это расширение, разработанное Джорджем Ненни из Generations Digital, позволяет вам переходить на Карты Google, искать конкурентов на вашем рынке и просматривать их категории, например:

. Вы можете искать конкурентов одного за другим или просто навести курсор мыши на map, чтобы увидеть всплывающие данные расширения GMBspy. Google не раскрывает автоматически все категории, которые использует компания, поэтому этот небольшой инструмент экономит так много времени и позволяет избавиться от необходимости возиться с HTML для доступа к этим данным.Какое прекрасное развитие!

Запишите все категории, которые используют ваши рыночные конкуренты. Обратите особое внимание на категории, используемые бизнес-рейтингом №1 для каждой из ваших уточненных поисковых фраз.

3) Получайте предложения по категориям и не оставляйте камня на камне

Ваш рынок может быть полон очень активных конкурентов, которые мудро выбрали лучшие категории, или это может быть менее сложный сценарий, при котором другие компании упускают возможности, которые вы могли бы иметь открывать.

Перейдите к сервису PlePer GMB Category Helper и введите название своей компании и до трех поисковых фраз, разделенных запятыми. Если вы еще не открыли для себя бизнес, вы можете просто ввести почтовый адрес вашего предполагаемого местоположения вместо названия компании. Затем идите выпейте чашку чая или сделайте небольшое упражнение в течение пяти минут и вернитесь к этим удивительным данным:

На основе ваших долгот-долгих координат PlePer показывает вам ваши текущие категории, категории, используемые в вашем районе, список предложений по категориям и другая полезная информация.Довольно круто! Бесплатная версия этого инструмента позволяет выполнять три таких поиска в день. Запишите все заметные результаты, которые отсутствовали при использовании GMBspy.

И, наконец, чтобы убедиться, что вы не упустили никаких потенциальных возможностей, перейдите к полному списку категорий GMB PlePer:

Он обновляется не реже одного раза в 3 дня, и это здорово, потому что Google постоянно добавляет и вычитает категории. Просто выберите свой язык и страну и нажмите кнопку «получить». Этот инструмент может быть особенно полезен, если вы предлагаете необычный товар или услугу и не уверены, существует ли для них категория.Записывайте все, что, по вашему мнению, может быть уместным.

Наконец, на панели управления GMB Google также иногда предлагает предложения о дополнительных категориях, которые вы, возможно, захотите добавить, например:

На приведенном выше снимке экрана вы можете видеть, что наша категоризация Moz как компании-разработчика программного обеспечения заставляет Google Предлагаем также выбрать «компанию по разработке программного обеспечения для бухгалтерского учета». В этом случае предложение не имеет отношения к бизнес-модели Moz, но это хорошая идея, чтобы узнать, делает ли Google какие-либо ценные предложения для вашей компании.

Теперь у вас есть все данные, необходимые для выбора, на основе категорий, которые применимы к вашим популярным поисковым фразам и которые используются (или игнорируются) вашими основными конкурентами на рынке. Отличная работа!

Немного дополнительной смекалки по категориям GMB

Изображение предоставлено: Thom Wong

Давайте подбодрим вашу уверенность в категориях Google с помощью еще нескольких советов, прежде чем вы введете свой выбор на панели инструментов GMB. Ответы на эти часто задаваемые вопросы могут помочь вам с типичными проблемами:

1) Сколько категорий GMB я должен выбрать?

Мой лучший ответ: столько, сколько действительно актуально для вашего бизнеса.Никогда не добавляйте категории, не имеющие отношения к вашему бизнесу. Например, если вы рекламируете пиццерию, вам, очевидно, не следует добавлять парикмахерскую в качестве категории, иначе это может полностью запутать Google, ваших клиентов и даже навредить вашему рейтингу.

Если применима каждая категория, все будет в порядке. В прошлом было много дискуссий о том, может ли разбавление категорий (выбор слишком большого количества категорий) повлиять на ваш рейтинг. Недавнее исследование местного SEO Колана Нилсена продемонстрировало обратное - добавление большего количества соответствующих категорий может положительно повлиять на вашу видимость, а не подорвать Это.

Сейчас хорошее время, чтобы заметить, что раздел "Рекомендации по представлению вашей компании в Google", посвященный категориям, может немного сбивать с толку. Он содержит устаревшую информацию, относящуюся к ушедшей эпохе (до 2013 года), когда компаниям было разрешено создавать категории по своему усмотрению.

Я не знаю, почему Google никогда не обновлял этот раздел, чтобы удалить текст о написании категорий, которые описывают то, что «есть» у вашего бизнеса, а не то, что у него «есть», поскольку вы автоматически ограничиваетесь выбором только собственных предварительных - утвержденные категории, но странное состояние этой области руководящих принципов лично заставило меня отнестись к другим рекомендациям в ней с долей скептицизма.Например, настаивание Google на том, что вам следует использовать как можно меньше категорий, несколько сомнительно, хотя их рекомендация выбирать только релевантные категории имеет смысл.

Мой совет - поэкспериментируйте с любой релевантной категорией и посмотрите, где она вас приведет к заметности.

2) Что делать, если в Google нет нужной категории?

Google имеет более 3000 категорий только для США, и хотя этот большой индекс охватывает многие бизнес-модели, нередко обнаруживается, что то, что вы предлагаете, не представлено.Основатель Sterling Sky Джой Хокинс недавно рассказала о случае, когда владелец бизнеса правильно запросил новую категорию у Google, с многочисленными доказательствами того, почему следует добавить новую опцию. Если недостающая категория мешает вашему бизнесу, я рекомендую изучить эту ветку справочного форума GMB, а затем создать свою собственную, приведя наиболее убедительные аргументы в пользу того, почему Google необходимо включить вашу категорию пожеланий.

Если, однако, вы не можете заставить Google действовать по вашему запросу, следующий лучший вариант - выбрать категорию, которая наиболее точно отражает ваш бизнес, а затем использовать поле описания бизнеса, изображения и сообщения Google, чтобы добавить более подробную информацию о ваших товарах и услугах.

3) Как я могу узнать, правильно ли я выбрал категории?

Этот вопрос чаще всего возникает при устранении ошибок при ранжировании. Вы думаете, что сделали все возможное, чтобы занять место по определенной поисковой фразе в локальных пакетах / средствах поиска / картах Google, но вас там просто нет. Хотя этому может быть множество факторов, всегда разумно еще раз проверить, не исключили ли вы себя, выбрав неправильную категорию.

Вернитесь к карте и снова запустите GMBspy, чтобы увидеть, какие категории используют компании с высоким рейтингом.Ваши категории совпадают или вам чего-то не хватает?

Также обращайте внимание на свои GMB Insights, Google Analytics и любое другое аналитическое программное обеспечение, которое вы используете, всякий раз, когда вы добавляете или удаляете категорию из своего списка GMB. Если вы видите внезапное падение какого-либо показателя, связанного с изменением ваших категорий, возможно, вы сделали неправильный выбор изменения категории, который необходимо исправить.

Наконец, помните, что не только вы контролируете свои категории. Если вы испытываете снижение рейтинга и замечаете, что ваши категории были таинственным образом изменены, это может быть связано с редактированием сторонней стороны или неверными данными в локальной сети.Местный SEO-специалист Никки Браун рассказывает страшную историю о клиенте, чей рейтинг поднялся с 1-го на 31-е из-за неожиданного изменения его основной категории, подчеркивая важность включения аудита категорий в любое решение проблем, связанных с рейтингом, которое вы принимаете. ) Как мне использовать категории для бизнес-модели с несколькими объектами?

Рекомендации Google разрешают некоторым бизнес-моделям иметь несколько списков для одного и того же физического местоположения компании. Эти особые сценарии включают:

  • Модели с несколькими отделениями, например, медицинский центр с отдельными отделениями для радиологии, педиатрии и экстренной помощи
  • Модели с несколькими специалистами, например, офис по недвижимости с несколькими агентами или юридическая фирма с несколькими поверенные
  • Мультибрендовые модели для автомобильной промышленности, в которых Google разрешает отдельные списки для дилерских центров, продающих автомобили разных марок.

В руководящих принципах рекомендуется, чтобы каждый перспективный отдел модели с несколькими отделами имел отдельные категории, и считается лучшей практикой местного SEO делать то же самое и для сценариев с несколькими специалистами. Диверсификация категорий для списков, состоящих из нескольких организаций, иногда может уменьшить вероятность того, что Google будет отфильтровывать некоторые из ваших списков по их результатам, потому что у вас больше не будет более одной организации, конкурирующей за те же условия категории.

Хороший способ подумать о диверсификации категорий для моделей с несколькими объектами состоит в том, что разрешение Google иметь более одного списка дает вам возможность увеличить количество категорий, которые может выбрать ваш бренд в целом.Вместо того, чтобы иметь только 10 категорий, ваша общая компания теоретически может нацелить 20, 30, 40 и т. Д., Существенно улучшив вашу потенциальную видимость по гораздо более широкому набору поисковых фраз.

5) Когда и почему я могу выбрать менее популярную категорию?

Существуют сценарии, в которых вы можете столкнуться с набором локальных рейтингов, в которые у вас возникнут дополнительные проблемы с взломом. Например, ваше физическое местоположение может поставить вас за пределы радиуса карты, которую Google, похоже, использует для этой поисковой фразы, или ваши конкуренты могут быть обескураживающе сильными или плотно стоящими на земле.

В подобных случаях вы можете поэкспериментировать, выбрав категорию, которую можно было бы охарактеризовать как низко висящий плод - то, что ваше исследование ключевых слов и конкурентный аудит показали, что меньше людей ищут и меньше брендов нанимают. Основная цель управления списками в Google Мой бизнес - увеличить количество конверсий / транзакций в вашей компании. Если географическое положение или конкуренция затрудняют получение максимального дохода от наиболее популярной категории, вы можете обнаружить, что можете частично компенсировать разницу, выбрав ряд менее популярных категорий, которые позволят вам занять более легкое место или занять более высокое место.