code: def normalize_features(X, train_mask, val_mask, test_mask):
      min_max_scaler = preprocessing.MinMaxScaler()
      A = X.to_numpy(copy=True)
      A[train_mask] = min_max_scaler.fit_transform(A[train_mask])
      A[val_mask + test_mask] = min_max_scaler.transform(
          A[val_mask + test_mask]
      )
      return pd.DataFrame(A, columns=X.columns).astype(float)
  
file_path: dgl/examples/pytorch/bgnn/run.py
imports: import json
  import os
  import numpy
  import pandas
  import torch
  import torch.nn.functional
  from BGNN import BGNNPredictor
  from category_encoders import CatBoostEncoder
  from dgl.data.utils import load_graphs
  from dgl.nn.pytorch import AGNNConv, APPNPConv, ChebConv, GATConv, GraphConv
  from sklearn import preprocessing
  from torch.nn import Dropout, ELU, Linear, ReLU, Sequential
label_desc: Use image node_id 2 for calling a global function with example usage: normalize_features(X, train_mask, val_mask, test_mask) and returns: pd