美文网首页
python处理excel离散数值编码

python处理excel离散数值编码

作者: constant007 | 来源:发表于2019-03-09 10:08 被阅读0次
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

相关文章

网友评论

      本文标题:python处理excel离散数值编码

      本文链接:https://www.haomeiwen.com/subject/egtspqtx.html