code: def remove_highly_null_features(
      feature_matrix, features=None, pct_null_threshold=0.95
  ):
      """
      Removes columns from a feature matrix that have higher than a set threshold
      of null values.
  
      Args:
          feature_matrix (:class:`pd.DataFrame`): DataFrame whose columns are feature names and rows are instances.
          features (list[:class:`featuretools.FeatureBase`] or list[str], optional): List of features to select.
          pct_null_threshold (float): If the percentage of NaN values in an input feature exceeds this amount,
                  that feature will be considered highly-null. Defaults to 0.95.
  
      Returns:
          pd.DataFrame, list[:class:`.FeatureBase`]:
              The feature matrix and the list of generated feature definitions. Matches dfs output.
              If no feature list is provided as input, the feature list will not be returned.
      """
      if pct_null_threshold < 0 or pct_null_threshold > 1:
          raise ValueError(
              "pct_null_threshold must be a float between 0 and 1, inclusive.",
          )
  
      percent_null_by_col = (feature_matrix.isnull().mean()).to_dict()
  
      if pct_null_threshold == 0.0:
          keep = [
              f_name
              for f_name, pct_null in percent_null_by_col.items()
              if pct_null <= pct_null_threshold
          ]
      else:
          keep = [
              f_name
              for f_name, pct_null in percent_null_by_col.items()
              if pct_null < pct_null_threshold
          ]
  
      return _apply_feature_selection(keep, feature_matrix, features)
  
imports: import pandas
  from woodwork.logical_types import Boolean, BooleanNullable
label_desc: Use image node_id 2 for calling a global function with example usage: remove_highly_null_features(feature_matrix, features, pct_null_threshold) and returns: _apply_feature_selection