python数据预处理代码
时间: 2023-07-23 10:34:29 浏览: 90
Lab04-数据预处理.zip
好的,我为您提供一个更加完整的Python数据预处理的例子,包括:
1. 读取CSV文件
2. 删除无用的列
3. 填充缺失值
4. 转换日期格式
5. 分类变量编码
6. 特征归一化
7. 切分训练集和测试集
```python
import pandas as pd
from sklearn.preprocessing import LabelEncoder, MinMaxScaler
from sklearn.model_selection import train_test_split
# 读取CSV文件
df = pd.read_csv('data.csv')
# 删除无用的列
df.drop(['id'], axis=1, inplace=True)
# 填充缺失值
df['age'].fillna(df['age'].median(), inplace=True)
df['salary'].fillna(df['salary'].median(), inplace=True)
# 转换日期格式
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
# 分类变量编码
le = LabelEncoder()
df['gender'] = le.fit_transform(df['gender'])
# 特征归一化
scaler = MinMaxScaler()
df[['age', 'salary']] = scaler.fit_transform(df[['age', 'salary']])
# 切分训练集和测试集
X = df.drop(['purchased'], axis=1)
y = df['purchased']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
这个例子使用了pandas库来读取和处理数据,同时使用了sklearn库进行特征工程。首先,我们使用`read_csv`函数读取CSV文件。然后,我们使用`drop`函数删除无用的列。接下来,我们使用`fillna`函数填充缺失值。然后,我们使用`to_datetime`函数将日期格式转换为标准的日期格式。接着,我们使用`LabelEncoder`对分类变量进行编码,使用`MinMaxScaler`对数值变量进行归一化。最后,我们使用`train_test_split`函数将数据集切分为训练集和测试集。
阅读全文