xinrong-databricks commented on a change in pull request #32785:
URL: https://github.com/apache/spark/pull/32785#discussion_r647616907



##########
File path: python/pyspark/pandas/data_type_ops/base.py
##########
@@ -52,33 +52,42 @@
     from pyspark.pandas.series import Series  # noqa: F401 (SPARK-34943)
 
 
-def is_valid_operand_for_numeric_arithmetic(operand: Any, *, allow_bool: bool 
= True) -> bool:
-    """Check whether the operand is valid for arithmetic operations against 
numerics."""
+def is_valid_operand_for_numeric_arithmetic(
+    operand: Any, *, allow_bool_index_ops: bool = True, allow_bool: bool = True

Review comment:
       There is not a case where only bool index should be allowed alone, but 
here is a case `allow_bool_index_ops` is `False`, whereas `allow_bool` is 
`True`, for example
   ```py
   >>> ps.Series([True, False, True]) + ps.Series([True, False, True])
   Traceback (most recent call last):
   ...
   TypeError: Addition can not be applied to booleans and the given type.
   
   >>> ps.Series([True, False, True]) + True
   0    True
   1    True
   2    True
   dtype: bool
   ```
   
   In case you are interested, there is a case `allow_bool_index_ops` and 
`allow_bool` are both `True`, for example
   ```py
   >>> ps.Series([1, 2, 3]) + ps.Series([True, False, True])
   0    2
   1    2
   2    4
   dtype: int64
   >>> ps.Series([1, 2, 3]) + True
   0    2
   1    3
   2    4
   dtype: int64
   ```
   
   And there is a case `allow_bool_index_ops` and `allow_bool` are both 
`False`, for example
   ```py
   >> ps.Series([True, False, True]) - ps.Series([True, False, True])
   Traceback (most recent call last):
   ...
   TypeError: Subtraction can not be applied to booleans and the given type.
   >>> ps.Series([True, False, True]) - True
   Traceback (most recent call last):
   ...
   TypeError: Subtraction can not be applied to booleans and the given type.
   
   ```
   
   That's why `allow_bool_index_ops` might be needed. Does that make sense?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to