帮我对titanic数据集进行pandas预处理
时间: 2023-07-10 15:13:12 浏览: 105
好的,以下是对 Titanic 数据集进行 Pandas 预处理的示例代码:
```python
import pandas as pd
# 导入数据集
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')
# 查看数据概况
print(train_data.info())
# 填充缺失值
train_data['Age'].fillna(train_data['Age'].median(), inplace=True)
train_data['Embarked'].fillna(train_data['Embarked'].mode()[0], inplace=True)
test_data['Age'].fillna(test_data['Age'].median(), inplace=True)
test_data['Fare'].fillna(test_data['Fare'].median(), inplace=True)
# 编码处理
train_data = pd.get_dummies(train_data, columns=['Sex', 'Embarked'])
test_data = pd.get_dummies(test_data, columns=['Sex', 'Embarked'])
# 特征选择
train_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)
test_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)
# 标准化处理
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
train_data[['Age', 'Fare']] = scaler.fit_transform(train_data[['Age', 'Fare']])
test_data[['Age', 'Fare']] = scaler.transform(test_data[['Age', 'Fare']])
# 划分训练集和测试集
X_train = train_data.drop('Survived', axis=1)
y_train = train_data['Survived']
X_test = test_data
print(X_train.head())
print(y_train.head())
print(X_test.head())
```
上述代码中,我们首先导入数据集,然后使用 `info()` 方法查看数据概况。接着,我们使用 `fillna()` 方法对缺失值进行填充,使用 `get_dummies()` 方法对分类变量进行独热编码。然后,我们使用 `drop()` 方法对不需要的特征进行删除。接着,我们使用 `StandardScaler()` 类对数值变量进行标准化处理。最后,我们使用 `drop()` 方法将目标变量 `Survived` 从训练集中删除,并将数据集划分为训练集和测试集。
阅读全文