You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2022/09/23 10:11:00 UTC
[jira] [Commented] (ARROW-17821) Implement zip()
[ https://issues.apache.org/jira/browse/ARROW-17821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17608676#comment-17608676 ]
Joris Van den Bossche commented on ARROW-17821:
-----------------------------------------------
I think giving an actual code example will be helpful to make it clear what you exactly mean.
Currently, we already have something like this:
{code}
>>> A = pa.array([[1, 2], [3, 4, 5]])
>>> B = pa.array([[0.1, 0.2, 0.3], [0.4, 0.5]])
>>> pc.make_struct(A, B, field_names=["A", "B"]).type
StructType(struct<A: list<item: int64>, B: list<item: double>>)
{code}
This gives a Struct of List fields, but you want to have a List of structs?
> Implement zip()
> ---------------
>
> Key: ARROW-17821
> URL: https://issues.apache.org/jira/browse/ARROW-17821
> Project: Apache Arrow
> Issue Type: New Feature
> Components: C++, Python
> Reporter: Adam Lippai
> Priority: Major
>
> If column A has list\(x), column B has list\(y), column C has list(z), I'd like to be able to create D = zip(A,B,C) where D would be list(\{ A: x, B: y, C: z}).
> x, y, z are types in the example, type of the resulting is D is list(struct).
> Other features to consider:
> * Zipping list(struct) with list\(x) or list(struct) with list(struct) should be able to merge
> * Zipping A,B into a Map with keys from A, values from B
--
This message was sent by Atlassian Jira
(v8.20.10#820010)