pandas.from_dummies#
- pandas.from_dummies(данные, sep=None, default_category=None)[источник]#
Создать категориальный
DataFrameизDataFrameфиктивных переменных.Инвертирует операцию, выполненную
get_dummies().Добавлено в версии 1.5.0.
- Параметры:
- данныеDataFrame
Данные, содержащие фиктивно-кодированные переменные в виде целочисленных столбцов из 1 и 0.
- sepstr, по умолчанию None
Разделитель, используемый в именах столбцов для фиктивных категорий, это символ, указывающий на разделение имён категорий от префиксов. Например, если ваши имена столбцов 'prefix_A' и 'prefix_B', вы можете удалить подчёркивание, указав sep='_'.
- default_categoryNone, Hashable или словарь Hashables, по умолчанию None
Категория по умолчанию — это подразумеваемая категория, когда значение не имеет ни одной из перечисленных категорий, указанных с единицей, т.е. если все фиктивные переменные в строке равны нулю. Может быть одним значением для всех переменных или словарем, непосредственно сопоставляющим категории по умолчанию с префиксом переменной.
- Возвращает:
- DataFrame
Категориальные данные, декодированные из фиктивных входных данных.
- Вызывает:
- ValueError
Когда входные данные
DataFramedataсодержит значения NA.Когда входные данные
DataFramedataсодержит имена столбцов с разделителями, которые не соответствуют указанному разделителюsep.Когда
dictпередано вdefault_categoryне включает подразумеваемую категорию для каждого префикса.Когда значение в
dataимеет более одной назначенной категории.Когда
default_category=Noneи значение вdataне имеет назначенной категории.
- TypeError
Когда входные данные
dataне является типомDataFrame.Когда входные данные
DataFramedataсодержит не фиктивные данные.Когда переданный
sepимеет неправильный тип данных.Когда переданный
default_categoryимеет неправильный тип данных.
Смотрите также
get_dummies()Преобразовать
SeriesилиDataFrameв фиктивные коды.CategoricalПредставление категориальной переменной в классическом виде.
Примечания
Столбцы переданных фиктивных данных должны содержать только 1 и 0 или булевы значения.
Примеры
>>> df = pd.DataFrame({"a": [1, 0, 0, 1], "b": [0, 1, 0, 0], ... "c": [0, 0, 1, 0]})
>>> df a b c 0 1 0 0 1 0 1 0 2 0 0 1 3 1 0 0
>>> pd.from_dummies(df) 0 a 1 b 2 c 3 a
>>> df = pd.DataFrame({"col1_a": [1, 0, 1], "col1_b": [0, 1, 0], ... "col2_a": [0, 1, 0], "col2_b": [1, 0, 0], ... "col2_c": [0, 0, 1]})
>>> df col1_a col1_b col2_a col2_b col2_c 0 1 0 0 1 0 1 0 1 1 0 0 2 1 0 0 0 1
>>> pd.from_dummies(df, sep="_") col1 col2 0 a b 1 b a 2 a c
>>> df = pd.DataFrame({"col1_a": [1, 0, 0], "col1_b": [0, 1, 0], ... "col2_a": [0, 1, 0], "col2_b": [1, 0, 0], ... "col2_c": [0, 0, 0]})
>>> df col1_a col1_b col2_a col2_b col2_c 0 1 0 0 1 0 1 0 1 1 0 0 2 0 0 0 0 0
>>> pd.from_dummies(df, sep="_", default_category={"col1": "d", "col2": "e"}) col1 col2 0 a b 1 b a 2 d e