code: def _check_input_as_dataframe(second_level_input):
      for col in ("subject_label", "map_name", "effects_map_path"):
          if col not in second_level_input.columns:
              raise ValueError(
                  "second_level_input DataFrame must have"
                  " columns subject_label, map_name and"
                  " effects_map_path."
              )
      if not all(
          isinstance(_, str)
          for _ in second_level_input["subject_label"].tolist()
      ):
          raise ValueError(
              "subject_label column must contain only strings"
          )
  
imports: import sys
  import time
  from warnings import warn
  import numpy
  import pandas
  from joblib import Memory
  from nibabel import Nifti1Image
  from sklearn.base import clone
  from nilearn._utils import fill_doc, stringify_path
  from nilearn._utils.niimg_conversions import check_niimg
  from nilearn.glm._base import BaseGLM
  from nilearn.glm.contrasts import compute_contrast, expression_to_contrast_vector
  from nilearn.glm.first_level import FirstLevelModel, run_glm
  from nilearn.glm.first_level.design_matrix import make_second_level_design_matrix
  from nilearn.glm.regression import RegressionResults, SimpleRegressionResults
  from nilearn.image import mean_img
  from nilearn.maskers import NiftiMasker
  from nilearn.mass_univariate import permuted_ols
label_desc: Use image node_id 8 for calling a global function with example usage: _check_input_as_dataframe(second_level_input) without return types