如何在数据框中使用字符串值替换int值

时间:2018-07-19 11:54:53

标签: python pandas

我目前有一个带有很多分类变量的csv文件。 数据最初来自spss,并进行了进一步的聚类分析 在数据上,我需要用数字代替变量名称。 因此,我将用以下示例中的字符串替换int值 1代表男性,而2代表女性

df[(df['gender']==1)]['gender'] = 'male'

但是我知道它是行不通的,因为该列最初包含int值,所以无法用字符串值替换,因此首先我尝试将列转换为字符串,例如使用以下代码,然后将1替换为男性

df['gender'] = df['gender'].astype(str) 

df['gender'].apply(str)

但是当我随后运行以下代码

df[(df['gender']=='1')]['gender'] = 'male'

我收到以下错误

TypeError: invalid type comparison

所以我不知道如何处理这个问题:(

1 个答案:

答案 0 :(得分:2)

我认为最好的是dictionarygender中所有可能的值,NaN中的map,否则得到df['gender'] = df['gender'].map({1:'male', 2:'female'}) 的不匹配值:

1

问题应在替换后在列中混合使用-将male替换为字符串2和原始数字LinkBuilder