dask.dataframe.reshape.get_dummies
dask.dataframe.reshape.get_dummies¶
- dask.dataframe.reshape.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=<class 'bool'>, **kwargs)[源代码]¶
将分类变量转换为哑变量/指示变量。
数据必须具有类别数据类型以推断结果的
columns
。- 参数
- 数据Series, 或 DataFrame
对于 Series,dtype 必须是分类类型。对于 DataFrame,至少有一列必须是分类类型。
- 前缀字符串、字符串列表或字符串字典,默认值为 None
要附加到 DataFrame 列名的字符串。在调用 DataFrame 上的 get_dummies 时,传递一个长度等于列数的列表。或者,prefix 可以是一个将列名映射到前缀的字典。
- prefix_sep字符串,默认值为 ‘_’
如果添加前缀,使用分隔符/定界符。或者传递一个列表或字典,如同使用 prefix 一样。
- dummy_nabool, 默认 False
添加一列以指示 NaN,如果为 False,则忽略 NaN。
- 列类似列表,默认 None
要编码的DataFrame中的列名。如果 columns 为 None,则所有具有 category 数据类型的列将被转换。
- 稀疏bool, 默认 False
虚拟列是否应为稀疏的。如果 data 是 Series 或所有列都包含在内,则返回 SparseDataFrame。否则返回包含一些 SparseBlocks 的 DataFrame。
0.18.2 新版功能.
- drop_firstbool, 默认 False
是否通过移除第一个级别来从k个分类级别中获取k-1个虚拟变量。
- dtypedtype, 默认 bool
新列的数据类型。只允许单一的数据类型。
0.18.2 新版功能.
- 返回
- dummiesDataFrame
示例
Dask 的版本仅适用于分类数据,因为这是在不计算所有数据的情况下知道输出形状的唯一方法。
>>> import pandas as pd >>> import dask.dataframe as dd >>> s = dd.from_pandas(pd.Series(list('abca')), npartitions=2) >>> dd.get_dummies(s) Traceback (most recent call last): ... NotImplementedError: `get_dummies` with non-categorical dtypes is not supported...
使用分类数据:
>>> s = dd.from_pandas(pd.Series(list('abca'), dtype='category'), npartitions=2) >>> dd.get_dummies(s) Dask DataFrame Structure: a b c npartitions=2 0 bool bool bool 2 ... ... ... 3 ... ... ... Dask Name: get_dummies, 2 graph layers >>> dd.get_dummies(s).compute() a b c 0 True False False 1 False True False 2 False False True 3 True False False