pandas.from_dummies #

熊猫。from_dummies ( data , sep = None , default_category = None ) [来源] #

DataFrameDataFrame虚拟变量创建一个分类。

反转 执行的操作get_dummies()

1.5.0 版本中的新增内容。

参数
数据数据框

包含 1 和 0 整数列形式的虚拟编码变量的数据。

sep str,默认无

虚拟类别的列名称中使用的分隔符,它们是指示类别名称与前缀之间的分隔符。例如,如果您的列名称为“prefix_A”和“prefix_B”,则可以通过指定 sep='_' go除下划线。

default_category None,Hashable 或 Hashables 的 dict,默认 None

当某个值没有任何用 1 指定的列出类别时(即,如果一行中的所有虚拟值均为零),则默认类别是隐含类别。可以是所有变量的单个值,也可以是直接将默认类别映射到变量前缀的字典。

返回
数据框

从虚拟输入数据解码的分类数据。

加薪
值错误
  • 当输入DataFrame data包含 NA 值时。

  • 当输入DataFrame data包含的列名称的分隔符与 指定的分隔符不匹配时sep

  • dict传递到的对象default_category不包含每个前缀的隐含类别时。

  • 当一个值data被分配了多个类别时。

  • default_category=None和 中的值data没有分配给它的类别时。

类型错误
  • 当输入的data类型不是DataFrame.

  • 当输入DataFrame data包含非虚拟数据时。

  • 当传递的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