40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import pandas as pd
|
|
from EncoderManager import EncoderManager
|
|
|
|
|
|
def main():
|
|
# Define example data
|
|
data = {
|
|
'Color': ['Red', 'Blue', 'Green', 'Red', 'Green', 'Blue'],
|
|
'Gender': ['Male', 'Female', 'Male', 'Female', 'Male', 'Male'],
|
|
'Size': ['M', 'S', 'L', 'M', 'XL', 'M'],
|
|
'Species': ['Dog', 'Cat', 'Bird', 'Dog', 'Bird', 'Cat'],
|
|
'Count': [2, 1, 3, 4, 1, 2]
|
|
}
|
|
df = pd.DataFrame(data)
|
|
|
|
# Define encoding parameters
|
|
label_cols = ('Gender','Species')
|
|
ordinal_cols = ('Size',)
|
|
onehot_cols = ('Color',)
|
|
|
|
# Create encoder manager
|
|
encoder = EncoderManager(df, label_cols, ordinal_cols, onehot_cols)
|
|
|
|
# Test encoding
|
|
encoded_df = encoder.encode(inplace=False)
|
|
print("Encoded DataFrame:")
|
|
print(encoded_df)
|
|
|
|
# Test decoding
|
|
decoded_df = encoder.decode(inplace=False)
|
|
print("Decoded DataFrame:")
|
|
print(decoded_df)
|
|
|
|
df_normalized = encoder.normalize('min-max', inplace=True).get_df()
|
|
print("Normalized DataFrame:")
|
|
print(df_normalized)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|