code: def get_character_counts_vc(vc: pd.Series) -> pd.Series:
      series = pd.Series(vc.index, index=vc)
      characters = series[series != ""].apply(list)
      characters = characters.explode()
  
      counts = pd.Series(characters.index, index=characters).dropna()
      if len(counts) > 0:
          counts = counts.groupby(level=0, sort=False).sum()
          counts = counts.sort_values(ascending=False)
          # FIXME: correct in split, below should be zero: print(counts.loc[''])
          counts = counts[counts.index.str.len() > 0]
      return counts
  
file_path: ydata-profiling/src/ydata_profiling/model/pandas/describe_categorical_pandas.py
imports: import contextlib
  import string
  from collections import Counter
  from typing import List, Tuple
  import numpy
  import pandas
  from ydata_profiling.config import Settings
  from ydata_profiling.model.pandas.imbalance_pandas import column_imbalance_score
  from ydata_profiling.model.pandas.utils_pandas import weighted_median
  from ydata_profiling.model.summary_algorithms import chi_square, describe_categorical_1d, histogram_compute, series_handle_nulls, series_hashable
label_desc: Use image node_id 1 for calling a global function with example usage: get_character_counts_vc(vc) and returns: counts