code: def _value_counts_arraylike(values, dropna):
      """
      Parameters
      ----------
      values : arraylike
      dropna : boolean
  
      Returns
      -------
      (uniques, counts)
  
      """
      values = _ensure_arraylike(values)
      original = values
      values, dtype, ndtype = _ensure_data(values)
  
      if needs_i8_conversion(dtype):
          # i8
  
          keys, counts = htable.value_count_int64(values, dropna)
  
          if dropna:
              msk = keys != iNaT
              keys, counts = keys[msk], counts[msk]
  
      else:
          # ndarray like
  
          # TODO: handle uint8
          f = getattr(
              htable, "value_count_{dtype}".format(dtype=ndtype)
          )
          keys, counts = f(values, dropna)
  
          mask = isna(values)
          if not dropna and mask.any():
              if not isna(keys).any():
                  keys = np.insert(keys, 0, np.NaN)
                  counts = np.insert(counts, 0, mask.sum())
  
      keys = _reconstruct_data(keys, original.dtype, original)
  
      return keys, counts
  
imports: from __future__ import division
  from textwrap import dedent
  from warnings import catch_warnings, simplefilter, warn
  import numpy
  from pandas._libs import algos, hashtable, lib
  from pandas._libs.tslib import iNaT
  from pandas.util._decorators import Appender, Substitution, deprecate_kwarg
  from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike, maybe_promote
  from pandas.core.dtypes.common import ensure_float64, ensure_int64, ensure_object, ensure_platform_int, ensure_uint64, is_array_like, is_bool_dtype, is_categorical_dtype, is_complex_dtype, is_datetime64_any_dtype, is_datetime64tz_dtype, is_datetimelike, is_extension_array_dtype, is_float_dtype, is_integer_dtype, is_interval_dtype, is_list_like, is_numeric_dtype, is_object_dtype, is_period_dtype, is_scalar, is_signed_integer_dtype, is_sparse, is_timedelta64_dtype, is_unsigned_integer_dtype, needs_i8_conversion
  from pandas.core.dtypes.generic import ABCIndex, ABCIndexClass, ABCSeries
  from pandas.core.dtypes.missing import isna, na_value_for_dtype
  from pandas.core import common
label_desc: Use image node_id 12 for calling a global function with example usage: _value_counts_arraylike(values, dropna) and returns: keys,  counts