NimbusML icon indicating copy to clipboard operation
NimbusML copied to clipboard

RangeFilter transform does not work with python lists or numpy arrays.

Open pieths opened this issue 6 years ago • 0 comments

The RangeFilter transform does not work with Python lists or numpy arrays.

import numpy as np
from nimbusml.preprocessing.filter import RangeFilter

data = [3.0, 3.2, 3.1, 4.0, 4.1, 4.2]
# data = np.array([3.0, 3.2, 3.1, 4.0, 4.1, 4.2])

filter = RangeFilter(min=3.1, max=5.1)
print(filter.fit_transform(data))

Produces the following error output:

Traceback (most recent call last):
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\examples\examples_from_dataframe\RangeFilter_df.py", line 21, in <module>
    print(filter.fit_transform(data))
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\utils\utils.py", line 220, in wrapper
    params = func(*args, **kwargs)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\base_transform.py", line 42, in fit_transform
    **params)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\utils\utils.py", line 220, in wrapper
    params = func(*args, **kwargs)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\pipeline.py", line 1186, in fit_transform
    **params)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\utils\utils.py", line 220, in wrapper
    params = func(*args, **kwargs)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\pipeline.py", line 1113, in fit
    X, y, verbose, **params)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\pipeline.py", line 754, in _fit_graph
    strategy_iosklearn=strategy_iosklearn)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\pipeline.py", line 594, in _init_graph_nodes
    strategy_iosklearn=strategy_iosklearn)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\utils\utils.py", line 220, in wrapper
    params = func(*args, **kwargs)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\pipeline.py", line 1300, in _process_transformers
    label_column_name=label_column)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\utils\utils.py", line 220, in wrapper
    params = func(*args, **kwargs)
  File "C:\Users\v-pischo\dev\nimbusml\fork\src\python\nimbusml\internal\core\preprocessing\filter\rangefilter.py", line 89, in _get_node
    type(input_column))
ValueError: input has to be a string, instead got <class 'list'>

pieths avatar Jun 17 '19 18:06 pieths