Reputation: 8009
I have the following dataframe:
amount catcode cid cycle date di feccandid type
0 1000 E1600 N00029285 2014 2014-05-15 D H8TX22107 24K
1 5000 G4600 N00026722 2014 2013-10-22 D H4TX28046 24K
2 4 C2100 N00030676 2014 2014-03-26 D H0MO07113 24Z
I want to make dummy variables for the values in column type
. There about 15. I have tried this:
pd.get_dummies(df['type'])
And it returns this:
24A 24C 24E 24F 24K 24N 24P 24R 24Z
date
2014-05-15 0 0 0 0 1 0 0 0 0
2013-10-22 0 0 0 0 1 0 0 0 0
2014-03-26 0 0 0 0 0 0 0 0 1
What I would like is to have a dummy variable column for each unique value in Type
Upvotes: 54
Views: 150228
Reputation: 3
you can also try using preprocessing package
X=df.values()
from sklearn import preprocessing
le_type= preprocessing.LabelEncoder()
X[:,7]=le_type.fit_transform(X[:,7])
This fits and transforms the encoded values in the original dataset
Upvotes: 0
Reputation: 11
Please try :
type_dummies = pd.get_dummies(df['type'],drop_first=True)
df = pd.concat([df,type_dummies],axis=1)
Upvotes: -3
Reputation: 1037
Consider I have the following dataframe:
Survived Pclass Sex Age Fare
0 0 3 male 22.0 7.2500
1 1 1 female 38.0 71.2833
2 1 3 female 26.0 7.9250
3 1 1 female 35.0 53.1000
4 0 3 male 35.0 8.0500
There are two ways to implement get_dummies:
Method 1:
one_hot = pd.get_dummies(dataset, columns = ['Sex'])
This will return:
Survived Pclass Age Fare Sex_female Sex_male
0 0 3 22 7.2500 0 1
1 1 1 38 71.2833 1 0
2 1 3 26 7.9250 1 0
3 1 1 35 53.1000 1 0
4 0 3 35 8.0500 0 1
Method 2:
one_hot = pd.get_dummies(dataset['Sex'])
This will return:
female male
0 0 1
1 1 0
2 1 0
3 1 0
4 0 1
Upvotes: 33