Skip to content

Instantly share code, notes, and snippets.

@Vuong-Chu
Last active August 30, 2023 16:14
Show Gist options
  • Save Vuong-Chu/b28dbe72c67288c1ccabd56c8e6081ea to your computer and use it in GitHub Desktop.
Save Vuong-Chu/b28dbe72c67288c1ccabd56c8e6081ea to your computer and use it in GitHub Desktop.
Multiple Columns Label Encoders
import pandas as pd
from sklearn.preprocessing import LabelEncoder
class MultiColumnLabelEncoder:
'''
modified the scripts of Daria Vasyukova
'''
def __init__(self, X):
self.X = X
def fit(self):
self.encoders = {}
for col in self.X.columns:
self.encoders[col] = LabelEncoder().fit(self.X[col])
return self
def transform(self):
output = self.X.copy()
for col in self.X.columns:
output[col] = self.encoders[col].transform(self.X[col])
return output
def fit_transform(self):
return self.fit().transform()
def inverse_transform(self, transformed_X):
output = transformed_X.copy()
for col in self.X.columns:
output[col] = self.encoders[col].inverse_transform(output[col])
return output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment