def register_integer_relations(): relations = [ TypeRelation(visions_integer, visions_generic, inferential=False), TypeRelation( visions_integer, visions_float, test_utils.coercion_equality_test(lambda s: s.astype(int)), inferential=True, ), TypeRelation( visions_integer, visions_float, test_utils.coercion_equality_test(lambda s: s.astype("Int64")), inferential=False, ), TypeRelation( visions_integer, visions_string, test_utils.coercion_test(lambda s: s.astype(int)), inferential=True, ), TypeRelation( visions_integer, visions_string, test_utils.coercion_test( lambda s: pd.to_numeric(s).astype("Int64")), inferential=True, ), ] return relations
def register_integer_relations(): relations = [ IdentityRelation(visions_integer, visions_generic), InferenceRelation( visions_integer, visions_float, test_utils.coercion_equality_test(lambda s: s.astype(int)), ), InferenceRelation( visions_integer, visions_float, test_utils.coercion_equality_test(lambda s: s.astype("Int64")), ), InferenceRelation( visions_integer, visions_string, test_utils.coercion_test(lambda s: s.astype(int)), ), InferenceRelation( visions_integer, visions_string, test_utils.coercion_test( lambda s: pd.to_numeric(s).astype("Int64")), ), ] return relations
def _to_datetime(cls, func) -> InferenceRelation: return InferenceRelation( relationship=test_utils.coercion_test(func), transformer=func, related_type=String, type=cls, )
def _to_datetime(cls, func) -> InferenceRelation: return InferenceRelation( relationship=test_utils.coercion_test(lambda s: func(s.astype(str))), transformer=to_datetime, type=cls, related_type=Integer, )
def get_string_datetime_type_relation(func): return InferenceRelation( relationship=test_utils.coercion_test(func), transformer=func, related_type=visions_string, type=visions_datetime, )
def integer_to_datetime_year_month_day(cls): return InferenceRelation( relationship=test_utils.coercion_test( lambda s: to_datetime_year_month_day(s.astype(str))), transformer=to_datetime, type=visions_datetime, related_type=cls, )
def _get_relations(cls) -> Sequence[TypeRelation]: from visions.types import Object, String relations = [ IdentityRelation(cls, Object), InferenceRelation(cls, String, relationship=test_utils.coercion_test(to_ip), transformer=to_ip), ] return relations
def _get_relations(cls) -> Sequence[TypeRelation]: from visions.types import Generic, String relations = [ IdentityRelation(cls, Generic), InferenceRelation( cls, String, relationship=test_utils.coercion_test(to_datetime), transformer=to_datetime, ), ] return relations
def _get_relations(cls) -> Sequence[TypeRelation]: from visions.types import DateTime, Object relations = [ IdentityRelation(cls, Object), InferenceRelation( cls, DateTime, relationship=test_utils.coercion_test(test_date), transformer=to_date, ), ] return relations
def _get_relations() -> Sequence[TypeRelation]: from visions.core.implementations.types import visions_generic relations = [ IdentityRelation(visions_datetime, visions_generic), InferenceRelation( visions_datetime, visions_string, relationship=test_utils.coercion_test(to_datetime), transformer=to_datetime, ), ] return relations
def _get_relations() -> Sequence[TypeRelation]: from visions.core.implementations.types import visions_object, visions_string relations = [ IdentityRelation(visions_ip, visions_object), InferenceRelation( visions_ip, visions_string, relationship=test_utils.coercion_test(to_ip), transformer=to_ip, ), ] return relations
def _get_relations(cls) -> List[TypeRelation]: from visions.types import String, Generic, Float relations = [ IdentityRelation(cls, Generic), InferenceRelation(cls, Float, relationship=float_is_int, transformer=to_int), InferenceRelation( cls, String, relationship=test_utils.coercion_test(to_int), transformer=to_int, ), ] return relations
def _get_relations(cls) -> List[TypeRelation]: from visions.core.implementations.types import ( visions_string, visions_generic, visions_float, ) relations = [ IdentityRelation(cls, visions_generic), InferenceRelation(cls, visions_float, relationship=float_is_int, transformer=to_int), InferenceRelation( cls, visions_string, relationship=test_utils.coercion_test(to_int), transformer=to_int, ), ] return relations
def string_is_ip(series, state: dict): return test_utils.coercion_test(lambda s: s.apply(ip_address))(series)
def string_is_datetime(series: pd.Series, state: dict) -> bool: exceptions = [OverflowError, TypeError] return test_utils.coercion_test(partial(to_datetime, state=state), exceptions)(series)