In [ ]:
import pandas as pd
import os
from pathlib import Path
proj_dir = Path(os.getcwd()).parent
data_fname = proj_dir.joinpath('data', 'interim', 'labeled.pickle')
data_fname
In [ ]:
dframe = pd.read_pickle(str(data_fname))
In [ ]:
enchanced_data = dframe.copy()
In [ ]:
enchanced_data['gx01'] = dframe['x0'] * dframe['x1']
enchanced_data['gx12'] = dframe['x1'] * dframe['x2']
enchanced_data['gx23'] = dframe['x2'] * dframe['x3']
enchanced_data['gx30'] = dframe['x3'] * dframe['x0']
In [ ]:
def feature_interactions(row):
return pd.Series([
row['x0'] * row['x1'],
row['x1'] * row['x2'],
row['x2'] * row['x3'],
row['x3'] * row['x0']
])
In [ ]:
engineered_features = dframe.apply(feature_interactions, axis=1)
engineered_features.columns = ['gx01', 'gx12', 'gx23', 'gx30']
enchanced_data2 = dframe.join(engineered_features)
In [ ]:
enchanced_data.equals(enchanced_data2)