code: def test_winsorize():
      def _data():
          for i in range(100):
              a = i % 5
              b = i % 3
              c = i % 4
              yield dict(a=a, b=b, c=c, i=i)
  
      df = pd.DataFrame(list(_data()))
      data_id, column_type = "1", "winsorize"
      i = 0
      build_data_inst({data_id: df})
  
      cfg = {
          "col": "i",
          "inclusive": [True, False],
          "limits": [0.1, 0.1],
      }
      builder = ColumnBuilder(
          data_id, column_type, "Col{}".format(++i), cfg
      )
      verify_builder(builder, lambda col: col.sum() == 4950)
  
      cfg = {"col": "i", "group": ["b"], "limits": [0.1, 0.1]}
      builder = ColumnBuilder(
          data_id, column_type, "Col{}".format(++i), cfg
      )
      verify_builder(builder, lambda col: col.sum() == 4950)
  
      cfg = {"col": "i"}
      builder = ColumnBuilder(
          data_id, column_type, "Col{}".format(++i), cfg
      )
      verify_builder(builder, lambda col: col.sum() == 4950)
  
imports: import numpy
  import pandas
  import pytest
  import sklearn
  from numpy.random import randn
  from pkg_resources import parse_version
  from six import PY3
  import dtale.pandas_util
  from dtale.column_builders import ColumnBuilder, ZERO_STD_ERROR
  from tests.dtale import build_data_inst
label_desc: Use image node_id 4 for calling a global function with example usage: test_winsorize() without return types