jorisvandenbossche commented on code in PR #13155:
URL: https://github.com/apache/arrow/pull/13155#discussion_r877040772


##########
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:
   Using your example table:
   
   ```
   In [29]: t.filter(pa.array([True, None, True, False, False, False]))
   Out[29]: 
   pyarrow.Table
   rows: int64
   ----
   rows: [[1,3]]
   ```
   
   vs
   
   ```
   In [33]: t.filter(pa.array([True, None, True, False, False, False]), 
null_selection_behavior="emit_null")
   Out[33]: 
   pyarrow.Table
   rows: int64
   ----
   rows: [[1,null,3]]
   ```
   
   The null is in a place where the original data had a "2"



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