pandas 如何将某一列转化为one-hot
时间: 2024-01-13 21:03:47 浏览: 101
pandas使用get_dummies进行one-hot编码的方法
可以使用 `pandas.get_dummies()` 函数将某一列转化为 one-hot 编码。假设要将 DataFrame 中的 `column_name` 列转化为 one-hot 编码,可以按照以下方式实现:
```python
import pandas as pd
# 生成示例数据
df = pd.DataFrame({'column_name': ['A', 'B', 'C', 'A', 'B', 'C']})
# 将 column_name 列转化为 one-hot 编码
one_hot = pd.get_dummies(df['column_name'])
# 将 one-hot 编码添加到原 DataFrame 中
df = pd.concat([df, one_hot], axis=1)
# 删除原 column_name 列
df.drop(['column_name'], axis=1, inplace=True)
print(df)
```
输出结果为:
```
A B C
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
4 0 1 0
5 0 0 1
```
其中,`pd.get_dummies()` 函数会将输入的 Series 或 DataFrame 转换为 one-hot 编码。在上面的代码中,我们使用 `pd.get_dummies(df['column_name'])` 将 `column_name` 列转化为 one-hot 编码,并将结果存储在 `one_hot` 变量中。接着,我们使用 `pd.concat()` 函数将原 DataFrame 和新的 one-hot 编码合并,最终得到包含 one-hot 编码的 DataFrame。最后,我们使用 `df.drop()` 函数删除原 `column_name` 列,得到最终的结果。
阅读全文