def to_input_data(self, df: DataFrame) -> Iterable[List[Any]]: return df.as_array_iterable(type_safe=True)
def to_input_data(self, df: DataFrame) -> EmptyAwareIterable[List[Any]]: return make_empty_aware(df.as_array_iterable(type_safe=True))
def count(self, df: DataFrame) -> int: if df.is_bounded: return df.count() else: return sum(1 for _ in df.as_array_iterable())