code: def _move_point_num(
      point,
      to_clust,
      from_clust,
      cl_attr_sum,
      cl_memb_sum,
      sample_weight,
  ):
      """Move point between clusters, numerical attributes."""
      # Update sum of attributes in cluster.
      for iattr, curattr in enumerate(point):
          cl_attr_sum[to_clust][iattr] += curattr * sample_weight
          cl_attr_sum[from_clust][iattr] -= curattr * sample_weight
      # Update sums of memberships in cluster
      cl_memb_sum[to_clust] += 1
      cl_memb_sum[from_clust] -= 1
      return cl_attr_sum, cl_memb_sum
  
imports: from collections import defaultdict
  import numpy
  from joblib import Parallel, delayed
  from scipy import sparse
  from sklearn.utils import check_random_state
  from sklearn.utils.validation import check_array
  from .None import kmodes
  from .util import get_max_value_key, encode_features, get_unique_rows, decode_centroids, pandas_to_numpy
  from .util.dissim import matching_dissim, euclidean_dissim
  from .util.init_methods import init_cao, init_huang
label_desc: Use image node_id 5 for calling a global function with example usage: _move_point_num(point, to_clust, from_clust, cl_attr_sum, cl_memb_sum, sample_weight) and returns: cl_attr_sum,  cl_memb_sum