code: def test_global_modeling_split_df():
      # GLOBAL MODELLING - SPLIT DF
      log.info("Global Modeling - Split df")
      df = pd.read_csv(PEYTON_FILE, nrows=512)
      df1 = df.iloc[:128, :].copy(deep=True)
      df1["ID"] = "dataset1"
      df2 = df.iloc[128:256, :].copy(deep=True)
      df2["ID"] = "dataset2"
      df3 = df.iloc[256:384, :].copy(deep=True)
      df3["ID"] = "dataset3"
      df_global = pd.concat((df1, df2, df3))
      m = NeuralProphet(
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          learning_rate=LR,
          n_forecasts=2,
          n_lags=3,
      )
      log.info("split df with single ts df")
      df_train, df_val = m.split_df(df1)
      log.info("split df with many ts df")
      df_train, df_val = m.split_df(df_global)
      log.info("split df with many ts df - local_split")
      df_train, df_val = m.split_df(df_global, local_split=True)
  
imports: import logging
  import math
  import os
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  import torch
  from neuralprophet import NeuralProphet, df_utils, set_random_seed
  from neuralprophet.data.process import _handle_missing_data, _validate_column_name
label_desc: Use image node_id 25 for calling a global function with example usage: test_global_modeling_split_df() without return types