Commits


Zhuo Peng authored and Antoine Pitrou committed d0126e713c8
ARROW-7362: [Python][C++] Added ListArray.Flatten() that properly flattens a ListArray Currently ListArray.flatten() simply returns the child array. If a ListArray is a slice of another ListArray, they will share the same child array, however the expected behavior (I think) of flatten() should be returning an Array that's a concatenation of all the sub-lists in the ListArray, so the slicing offset should be taken into account. For example: ```python a = pa.array([[1], [2], [3]]) assert a.flatten().equals(pa.array([1,2,3])) # expected: a.slice(1).flatten().equals(pa.array([2, 3])) ``` Closes #6006 from brills/flatten and squashes the following commits: 4702f59da <Antoine Pitrou> Improve implementation characteristics d14210dc4 <Antoine Pitrou> Address review comments, add a test for non-canonical list arrays c789812d0 <Antoine Pitrou> Fix git merge error 7d0b864bf <Antoine Pitrou> Fix typo + print out conda env in conda docker builds 5f3650f90 <Zhuo Peng> comments 6aa3181b8 <Zhuo Peng> Take care of nulls correctly. 3c8746241 <Zhuo Peng> Also changed the python wrapper. a3d4d2fbb <Zhuo Peng> Added a C++ method Flatten() to ListArray. Lead-authored-by: Zhuo Peng <1835738+brills@users.noreply.github.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>