pandas.from_dummies
- pandas.from_dummies(data, sep=None, default_category=None)[source]
-
Создать категориальную
DataFrameизDataFrameфиктивных переменных.Инвертирует операцию, выполняемую функцией
get_dummies().Новая в версии 1.5.0.
- Параметры:
-
- data:DataFrame
-
Данные, содержащие фиктивно закодированные переменные в виде целочисленных столбцов 1 и 0.
- sep:str, по умолчанию None
-
Разделитель, используемый в именах столбцов категорий фиктивных переменных. Символ, указывающий разделитель между названиями категорий и префиксами. Например, если имена ваших столбцов — ‘prefix_A’ и ‘prefix_B’, вы можете убрать нижнее подчёркивание, указав sep=’_’.
- default_category:None, Hashable или словарь Hashable, по умолчанию 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.from_dummies.html