code: def degree_prune_internal(indptr, data, max_degree=20):
      for i in numba.prange(indptr.shape[0] - 1):
          row_data = data[indptr[i] : indptr[i + 1]]
          if row_data.shape[0] > max_degree:
              cut_value = np.sort(row_data)[max_degree]
              for j in range(indptr[i], indptr[i + 1]):
                  if data[j] > cut_value:
                      data[j] = 0.0
  
      return
  
imports: from warnings import warn
  import numba
  import numpy
  from sklearn.utils import check_random_state, check_array
  from sklearn.preprocessing import normalize
  from sklearn.base import BaseEstimator, TransformerMixin
  from scipy.sparse import csr_matrix, coo_matrix, isspmatrix_csr, vstack, issparse
  import heapq
  import pynndescent.sparse
  import pynndescent.sparse_nndescent
  import pynndescent.distances
  from pynndescent.utils import tau_rand_int, tau_rand, make_heap, deheap_sort, new_build_candidates, ts, simple_heap_push, checked_flagged_heap_push, has_been_visited, mark_visited, apply_graph_updates_high_memory, apply_graph_updates_low_memory, initalize_heap_from_graph_indices, initalize_heap_from_graph_indices_and_distances, sparse_initalize_heap_from_graph_indices
  from pynndescent.rp_trees import make_forest, rptree_leaf_array, convert_tree_format, FlatTree, denumbaify_tree, renumbaify_tree, select_side, sparse_select_side, score_linked_tree
label_desc: Use image node_id 13 for calling a global function with example usage: degree_prune_internal(indptr, data, max_degree) without return types