通常,我们在将数据集进入到模型进行训练时时,需要将数据框中的某些模型不支持的值进行替换,比如性别这种。今天就来讲讲在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
好啦,这应该是一个比较实用的小技巧~
热门工具 换一换