i have following dataframe:
df = pd.dataframe(['male','female', 'female', 'unknown', 'male'], columns = ['gender'])
i want convert dataframe columns 'male','female' , 'unknown' values 0 , 1 indicated gender.
gender male female male 1 0 female 0 1 . . . .
to this, wrote function , called function using map.
def isvalue(x , value): if(x == value): return 1 else: return 0 value in df['gender'].unique(): df[str(value)] = df['gender'].map( lambda x: isvalue(str(x) , str(value)))
which works perfectly. there better way this? there inbuilt function in of sklearn package can use?
yes, there better way this. it's called pd.get_dummies
pd.get_dummies(df)
to replicate have:
order = ['gender', 'male', 'female', 'unknown'] pd.concat([df, pd.get_dummies(df, '', '').astype(int)], axis=1)[order]
Comments
Post a Comment