Yue*_*hao 4 python-3.x pandas scikit-learn
我正在使用Kaggle的Titanic数据集(https://www.kaggle.com/c/titanic/data),我想使用sklearn.preprocessing中的LabelEncoder转换Sex,最初标记为'male'或'female '进'0'或'1'.我有以下四行代码,
import pandas as pd
from sklearn.preprocessing import LabelEncoder
df = pd.read_csv('titanic.csv')
df['Sex'] = LabelEncoder.fit_transform(df['Sex'])
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,我收到以下错误消息:
TypeError: fit_transform() missing 1 required positional argument: 'y'
Run Code Online (Sandbox Code Playgroud)
错误来自第4行,即
df['Sex'] = LabelEncoder.fit_transform(df['Sex'])
Run Code Online (Sandbox Code Playgroud)
我想知道这里出了什么问题.虽然我知道我也可以使用map进行转换,这可能更简单,但我仍然想知道我对LabelEncoder的使用有什么问题.
尝试使用以下链接sklearn.LabelEncoder是一个实用程序类,需要使用以下命令创建对象LabelEncoder():
le = LabelEncoder()
df['Sex'] = le.fit_transform(df['Sex'])
Run Code Online (Sandbox Code Playgroud)
用例子测试:
# create test series
gender = pd.Series(['male', 'female', 'male'])
le = LabelEncoder()
transformed_val = le.fit_transform(gender)
# checking result after using label encoder
print(transformed_val)
Run Code Online (Sandbox Code Playgroud)
结果:
[1 0 1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3051 次 |
| 最近记录: |