pd.get_dummies()用法

在数据的预处理过程中,我们需要将一个特征变量变为计算机能读懂的特征距离。

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)

详细参数:

prefix:str, list of str, 或 dict of str, 默认为 None
用于追加DataFrame列名称的字符串。

prefix_sep:str, 默认为 ‘_’
如果附加前缀,则使用分隔符/分隔符。或者像这样传递列表或字典prefix。

dummy_na:bool, 默认为 False
如果忽略False NaN。

columns:list-like, 默认为 None
要编码的DataFrame中的列名。如果columns为None,则所有具有的列object或者categorydtype将被转换。

sparse:bool, 默认为 False
dummy-encoded列是否应由a支持SparseArray(True)或常规NumPy数组(False)。

drop_first:bool, 默认为 False
是否通过删除第一个级别从k个分类级别中获取k-1个虚拟对象。

用法举例:

data = pd.DataFrame({"学号":[1,2,3,4],
                    "录取":["清华","北大","清华","蓝翔"],
                    "学历":["本科","本科","本科","专科"]})
pd.get_dummies(data)

 

data = pd.DataFrame({"学号":[1,2,3,4],
                    "录取":["清华","北大","清华","蓝翔"],
                    "学历":["本科","本科","本科","专科"]})
pd.get_dummies(data,prefix='Hello')

 

 

  • 29
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`pd.get_dummies()` 是 Pandas 库中的一个函数,用于将分类变量转换为哑变量(dummy variable),也称为指示变量(indicator variable)。 函数的语法为: ```python pd.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None) ``` 其中,参数含义如下: - `data`:要进行哑变量转换的 DataFrame 或 Series。 - `prefix`:新列名的前缀。 - `prefix_sep`:新列名前缀与分类名称之间的分隔符。 - `dummy_na`:是否为缺失值创建一个哑变量列。 - `columns`:要进行哑变量转换的列名列表,如果未指定,则将所有分类变量转换为哑变量。 - `sparse`:是否使用稀疏矩阵表示哑变量。 - `drop_first`:是否删除每个分类变量的第一个级别以避免共线性。 - `dtype`:哑变量的数据类型。 举个例子,如果有如下一个 DataFrame: ```python import pandas as pd df = pd.DataFrame({'A': ['x', 'y', 'z', 'x'], 'B': ['p', 'q', 'r', 'q']}) print(df) ``` 输出: ``` A B 0 x p 1 y q 2 z r 3 x q ``` 使用 `pd.get_dummies()` 将分类变量转换为哑变量: ```python dummies = pd.get_dummies(df) print(dummies) ``` 输出: ``` A_x A_y A_z B_p B_q B_r 0 1 0 0 1 0 0 1 0 1 0 0 1 0 2 0 0 1 0 0 1 3 1 0 0 0 1 0 ``` 可以看到,`pd.get_dummies()` 将原始的 DataFrame 按照每个分类变量的取值转换为了哑变量。新列名的前缀为分类变量的名称,前缀和分类名称之间的分隔符默认为下划线。如果分类变量取值中存在缺失值,可以通过设置 `dummy_na=True` 创建一个哑变量列来表示缺失值。如果想要对指定列进行哑变量转换,可以通过设置 `columns` 参数来实现。如果想要使用稀疏矩阵表示哑变量,可以将 `sparse=True`。如果想要删除每个分类变量的第一个级别以避免共线性,可以将 `drop_first=True`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值