将所有的DataFrame中类别变量转换为数值,把 新建的数值列加入 DataFrame,删除原来的那一列。使用pandas的drop()函数。
时间: 2024-10-06 19:01:04 浏览: 42
Python 数据操作教程,如何从 PANDAS DATAFRAME 中删除一列或多列
在Python的Pandas库中,如果你需要将DataFrame中的类别变量(通常称为分类变量或名义变量)转换为数值表示,以便于后续的数据分析和建模,可以采用编码技术,如独热编码(One-Hot Encoding)或者标签编码(Label Encoding)。这里以独热编码为例:
首先,你需要导入所需的库:
```python
import pandas as pd
```
然后,假设有一个名为df的DataFrame,并且你想对名为'category_column'的列进行编码:
1. 对类别变量进行独热编码:
```python
df_encoded = pd.get_dummies(df, columns=['category_column'])
```
这会生成一个新的DataFrame,其中`category_column`的所有独特值都会变成新的列,并用0和1表示原始类别是否存在。
2. 删除原列并保留新列:
```python
# 使用drop()函数删除原始的类别列
df_encoded = df_encoded.drop('category_column', axis=1)
```
这里的`axis=1`表示我们按列操作。
3. 如果想确保数据一致性,你可以检查新添加的列名:
```python
new_columns = df_encoded.columns.tolist()
print(new_columns)
```
现在,`df_encoded`中原来的类别列已被替换为数值列,并且原列已从DataFrame中移除。
阅读全文