import pandas as pd
df = pd.DataFrame([
['green', 'M', 10.1, 'label1'],
['red', 'L', 13.5, 'label2'],
['blue', 'XL', 15.3, 'label2']])
# color、label不具备大小含义,size具有大小意义
df.columns = ['color', 'size', 'length', 'label']
print(df)
size_mapping = {
'XL': 3,
'L': 2,
'M': 1}
df['size'] = df['size'].map(size_mapping)
#增加一列
df = pd.DataFrame([
['green', 'M', 10.1, 'label1'],
['red', 'L', 13.5, 'label2'],
['blue', 'XL', 15.3, 'label2']])
df.columns = ['color', 'size', 'length', 'label']
size2tall ={
'M':170,
'L':160,
'XL':180}
df['tall']=df['size'].map(size2tall)
#print(df)
#增加一列 lambda
df = pd.DataFrame([
['green', 'M', 10.1, 'label1'],
['red', 'L', 13.5, 'label2'],
['blue', 'XL', 15.3, 'label2']])
df.columns = ['color', 'size', 'length', 'label']
size2tall ={
'M':170,
'L':160,
'XL':180}
df['tall']=df['size'].map(lambda x: size2tall[x])
print(df)
#方法2
label_mapping = {lab:idx for idx,lab in enumerate(set(df['label']))}
df['label'] = df['label'].map(label_mapping)
print(df)
#one-hot
df = pd.DataFrame([
['green', 'M', 10.1, 'label1'],
['red', 'L', 13.5, 'label2'],
['blue', 'XL', 15.3, 'label2']])
# color、label不具备大小含义,size具有大小意义
df.columns = ['color', 'size', 'length', 'label']
print(df)
df=pd.get_dummies(df)
print(df.iloc[1,:])
FastStoneEditor1 - Copy.jpg
网友评论