pandas.from_dummies #
- 熊猫。from_dummies ( data , sep = None , default_category = None ) [来源] #
DataFrame
从DataFrame
虚拟变量创建一个分类。反转 执行的操作
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