amol- commented on code in PR #13155:
URL: https://github.com/apache/arrow/pull/13155#discussion_r877035105


##########
python/pyarrow/table.pxi:
##########
@@ -2882,24 +2882,27 @@ cdef class Table(_PandasConvertible):
 
         return pyarrow_wrap_table(result)
 
-    def filter(self, mask, object null_selection_behavior="drop"):
+    def filter(self, mask_or_expr, object null_selection_behavior="drop"):
         """
         Select rows from the table.
 
-        See :func:`pyarrow.compute.filter` for full usage.
+        The Table can be filtered based on a mask, which will be passed to
+        :func:`pyarrow.compute.filter` to perform the filtering, or it can
+        be filtered through a boolean :class:`.Expression`
 
         Parameters
         ----------
-        mask : Array or array-like
-            The boolean mask to filter the table with.
+        mask_or_expr : Array or array-like or .Expression
+            The boolean mask or the :class:`.Expression` to filter the table 
with.
         null_selection_behavior
-            How nulls in the mask should be handled.
+            How nulls in the mask should be handled, does nothing if
+            an :class:`.Expression` is used.

Review Comment:
   Uhm, not sure I follow, why you can't use an expression?
   Given
   ```
   >>> pa.table({"rows": [1, 2, 3, None, 5, 6]})
   pyarrow.Table
   rows: int64
   ----
   rows: [[1,2,3,null,5,6]]
   ```
   
   If I want to drop the nulls, I do
   ```
   >>> t.filter(pc.field("rows") < 5)
   pyarrow.Table
   rows: int64
   ----
   rows: [[1,2,3]]
   ```
   
   If instead I want to keep the nulls, I do
   ```
   >>> t.filter((pc.field("rows") < 5) | (pc.field("rows").is_null()))
   pyarrow.Table
   rows: int64
   ----
   rows: [[1,2,3,null]]
   ```



-- 
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.

To unsubscribe, e-mail: [email protected]

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

Reply via email to