title: Using OrdinalEncoder to transform categorical values
body: <p>I have a dataset that has many columns</p>
  
  <pre><code>No  Name  Sex  Blood  Grade  Height  Study
  1   Tom   M    O      56     160     Math
  2   Harry M    A      76     192     Math
  3   John  M    A      45     178     English
  4   Nancy F    B      78     157     Biology
  5   Mike  M    O      79     167     Math
  6   Kate  F    AB     66     156     English
  7   Mary  F    O      99     166     Science
  </code></pre>
  
  <p>I want to change it to be something like that</p>
  
  <pre><code>No  Name  Sex  Blood  Grade  Height  Study
  1   Tom   0    0      56     160     0
  2   Harry 0    1      76     192     0
  3   John  0    1      45     178     1
  4   Nancy 1    2      78     157     2
  5   Mike  0    0      79     167     0
  6   Kate  1    3      66     156     1
  7   Mary  0    0      99     166     3
  </code></pre>
  
  <p>I know there is a libabrary can do that which is </p>
  
  <pre><code>from sklearn.preprocessing import OrdinalEncoder
  </code></pre>
  
  <p>I tried this but it did not work</p>
  
  <pre><code>enc = OrdinalEncoder()
  enc.fit(df[["Sex","Blood", "Study"]])
  </code></pre>
  
  <p>can anyone help me finding what i am doing wrong and how to that?</p>
  
  <p>Thanks</p>