将pandas一列转为one-hot
比如原始数据是这样,其中的countries列对于模型的训练必不可少,那么需要转换为one-hot,可以使用pandas的get_dummies 方法
#pd.get(df, columns=['Country']) 该语句会在原数据之上进行one-hot编码,若不指定columns ,则对所有的object、category类型进行编码
y = pd.get_dummies(df.Countries, prefix='Country')
print(y.head())
from sklearn.preprocessing import LabelBinarizer
y = LabelBinarizer().fit_transform(df.Countries)
from sklearn.preprocessing import OneHotEncoder
x = [[11, "Spain"], [22, "France"], [33, "Spain"], [44, "Germany"], [55, "France"]]
y = OneHotEncoder().fit_transform(x).toarray()
print(y)
删除行、列
df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])
df.drop(['B', 'C'], axis=1)
df.drop(columns=['B', 'C'])
df.drop(index=[0, 1])
该方法具有参数inplace ,True或False
|