pandas.get_dummies # 熊猫。get_dummies ( data , prefix = None , prefix_sep = '_' , dummy_na = False , columns = None ,稀疏= False , drop_first = False , dtype = None ) [来源] # 将分类变量转换为虚拟/指标变量。 每个变量都会转换为与不同值一样多的 0/1 变量。输出中的每一列均以一个值命名;如果输入是 DataFrame,则原始变量的名称将添加到值的前面。 参数: 数据数组、Series 或 DataFrame要获取虚拟指标的数据。 前缀str、str 列表或 str 字典,默认 None用于附加 DataFrame 列名称的字符串。在 DataFrame 上调用 get_dummies 时,传递长度等于列数的列表。或者,前缀 可以是将列名映射到前缀的字典。 prefix_sep str,默认 '_'如果附加前缀,则使用分隔符/定界符。或者传递一个列表或字典作为前缀。 dummy_na布尔值,默认 False如果忽略 False NaN,则添加一列来指示 NaN。 列类似列表,默认无DataFrame 中要编码的列名称。如果columns为 None ,则所有具有object、string或category dtype的列都 将被转换。 稀疏布尔值,默认 False虚拟编码列是否应由SparseArray(True) 或常规 NumPy 数组 (False) 支持。 drop_first布尔值,默认 False是否通过删除第一个级别来从 k 个分类级别中获取 k-1 个虚拟对象。 dtype 数据类型,默认布尔值新列的数据类型。只允许使用单一数据类型。 返回: 数据框虚拟编码数据。如果数据包含除虚拟编码列之外的其他列,这些列将不加更改地添加到结果中。 也可以看看 Series.str.get_dummies将一系列字符串转换为虚拟代码。 from_dummies()将虚拟代码转换为分类代码DataFrame。 笔记 请参阅用户指南以获取更多示例。 例子 >>> s = pd.Series(list('abca')) >>> pd.get_dummies(s) a b c 0 True False False 1 False True False 2 False False True 3 True False False >>> s1 = ['a', 'b', np.nan] >>> pd.get_dummies(s1) a b 0 True False 1 False True 2 False False >>> pd.get_dummies(s1, dummy_na=True) a b NaN 0 True False False 1 False True False 2 False False True >>> df = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'], ... 'C': [1, 2, 3]}) >>> pd.get_dummies(df, prefix=['col1', 'col2']) C col1_a col1_b col2_a col2_b col2_c 0 1 True False False True False 1 2 False True True False False 2 3 True False False False True >>> pd.get_dummies(pd.Series(list('abcaa'))) a b c 0 True False False 1 False True False 2 False False True 3 True False False 4 True False False >>> pd.get_dummies(pd.Series(list('abcaa')), drop_first=True) b c 0 False False 1 True False 2 False True 3 False False 4 False False >>> pd.get_dummies(pd.Series(list('abc')), dtype=float) a b c 0 1.0 0.0 0.0 1 0.0 1.0 0.0 2 0.0 0.0 1.0