koalas icon indicating copy to clipboard operation
koalas copied to clipboard

numpy.timedelta64 not supported in type hint?

Open darshats opened this issue 5 years ago • 1 comments

Hello, I have a function which which I've added a type hint of type np.timedelta64. This raises : TypeError: Type <class 'numpy.timedelta64'> was not understood.

I didnt see any callouts about this type not supported in the docs, but might have missed something! I am on koalas 1.3.0

Full stack:

<command-1861211090114748> in <module>
----> 1 journeys_df = mmdf.groupby(['uid','ProductMasterId'], as_index=False).apply(make_a_journey)
      2 print(type(journeys_df))

/databricks/python/lib/python3.7/site-packages/databricks/koalas/usage_logging/__init__.py in wrapper(*args, **kwargs)
    178             start = time.perf_counter()
    179             try:
--> 180                 res = func(*args, **kwargs)
    181                 logger.log_success(
    182                     class_name, function_name, time.perf_counter() - start, signature

/databricks/python/lib/python3.7/site-packages/databricks/koalas/groupby.py in apply(self, func, *args, **kwargs)
   1112             return_schema = kdf_from_pandas._internal.spark_frame.drop(*HIDDEN_COLUMNS).schema
   1113         else:
-> 1114             return_type = infer_return_type(func)
   1115             if not is_series_groupby and isinstance(return_type, SeriesType):
   1116                 raise TypeError(

/databricks/python/lib/python3.7/site-packages/databricks/koalas/typedef/typehints.py in infer_return_type(f)
    262             names = [p.name for p in parameters if issubclass(p, NameTypeHolder)]
    263             types = [p.tpe for p in parameters if issubclass(p, NameTypeHolder)]
--> 264             return DataFrameType([as_spark_type(t) for t in types], names)
    265         return DataFrameType([as_spark_type(t) for t in parameters])
    266     inner = as_spark_type(tpe)

/databricks/python/lib/python3.7/site-packages/databricks/koalas/typedef/typehints.py in <listcomp>(.0)
    262             names = [p.name for p in parameters if issubclass(p, NameTypeHolder)]
    263             types = [p.tpe for p in parameters if issubclass(p, NameTypeHolder)]
--> 264             return DataFrameType([as_spark_type(t) for t in types], names)
    265         return DataFrameType([as_spark_type(t) for t in parameters])
    266     inner = as_spark_type(tpe)

/databricks/python/lib/python3.7/site-packages/databricks/koalas/typedef/typehints.py in as_spark_type(tpe)
    126         return types.ArrayType(types.StringType())
    127     else:
--> 128         raise TypeError("Type %s was not understood." % tpe)
    129 

darshats avatar Oct 16 '20 09:10 darshats

Hi @darshats, Thanks for trying Koalas.

Unfortunately Koalas doesn't support np.timedelta64, not only in type hints but as a whole, so far. We'll add a documentation about supported types soon.

Thanks.

ueshin avatar Oct 16 '20 18:10 ueshin