pandas小技巧之--值替换

     通常,我们在将数据集进入到模型进行训练时时,需要将数据框中的某些模型不支持的值进行替换,比如性别这种。今天就来讲讲在pandas中进行特定值替换。

首先数据格式如下:

df = pd.DataFrame({"id": [25,53,15,47,52,54,45,9], "sex": list('mfmfmfmf'), 'score': [1.2, 2.3, 3.4, 4.5,6.4,5.7,5.6,4.3],"name":['daisy','tony','peter','tommy','ana','david','ken','jim']})

df
Out[122]: 
   id   name  score sex
0  25  daisy    1.2   m
1  53   tony    2.3   f
2  15  peter    3.4   m
3  47  tommy    4.5   f
4  52    ana    6.4   m
5  54  david    5.7   f
6  45    ken    5.6   m
7   9    jim    4.3   f

现在要求是将男性(m)替换为1,女性替换为0,

第一种方法:

代码如下:

#第一种方法
df.ix[df['sex']=='f','sex']=0
df.ix[df['sex']=='m','sex']=1
df
Out[138]: 
   id   name  score sex
0  25  daisy    1.2   1
1  53   tony    2.3   0
2  15  peter    3.4   1
3  47  tommy    4.5   0
4  52    ana    6.4   1
5  54  david    5.7   0
6  45    ken    5.6   1
7   9    jim    4.3   0

注:在上面的代码中,逗号后面的‘sex’起到固定列名的作用。

第二种方法:

代码如下:

#第二种方法:
df.sex[df['sex']=='m']=1
df.sex[df['sex']=='f']=0
df
Out[146]: 
   id   name  score sex
0  25  daisy    1.2   1
1  53   tony    2.3   0
2  15  peter    3.4   1
3  47  tommy    4.5   0
4  52    ana    6.4   1
5  54  david    5.7   0
6  45    ken    5.6   1
7   9    jim    4.3   0

好啦,这应该是一个比较实用的小技巧~

扫描二维码关注公众号,回复: 2576930 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_37536446/article/details/81266273