Exemple #1
0
 def mul(self, left: IndexOpsLike, right: Any) -> SeriesOrIndex:
     _sanitize_list_like(right)
     if not is_valid_operand_for_numeric_arithmetic(right):
         raise TypeError(
             "Multiplication can not be applied to %s and the given type." % self.pretty_name
         )
     if isinstance(right, bool):
         return left.__and__(right)
     elif isinstance(right, numbers.Number):
         left = transform_boolean_operand_to_numeric(left, spark_type=as_spark_type(type(right)))
         return left * right
     else:
         assert isinstance(right, IndexOpsMixin)
         if isinstance(right, IndexOpsMixin) and isinstance(right.spark.data_type, BooleanType):
             return left.__and__(right)
         else:
             left = transform_boolean_operand_to_numeric(left, spark_type=right.spark.data_type)
             return left * right
Exemple #2
0
 def rmul(self, left: IndexOpsLike, right: Any) -> SeriesOrIndex:
     if isinstance(right, bool):
         return left.__and__(right)
     elif isinstance(right, numbers.Number):
         left = left.spark.transform(
             lambda scol: scol.cast(as_spark_type(type(right))))
         return right * left
     else:
         raise TypeError(
             "Multiplication can not be applied to %s and the given type." %
             self.pretty_name)
Exemple #3
0
 def rmul(self, left: IndexOpsLike, right: Any) -> SeriesOrIndex:
     if isinstance(right, bool):
         return left.__and__(right)
     elif isinstance(right, numbers.Number):
         left = transform_boolean_operand_to_numeric(
             left, spark_type=as_spark_type(type(right)))
         return right * left
     else:
         raise TypeError(
             "Multiplication can not be applied to %s and the given type." %
             self.pretty_name)
Exemple #4
0
 def rand(self, left: IndexOpsLike, right: Any) -> SeriesOrIndex:
     _sanitize_list_like(right)
     return left.__and__(right)
Exemple #5
0
 def rand(self, left: IndexOpsLike, right: Any) -> SeriesOrIndex:
     return left.__and__(right)