1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Explode multiple columns with different lengths

Discussão em 'Python' iniciado por Stack, Setembro 16, 2024.

  1. Stack

    Stack Membro Participativo

    I have a dataframe like:

    data = {
    "a": [[1], [2], [3, 4], [5, 6, 7]],
    "b": [[], [8], [9, 10], [11, 12]],
    }
    df = pl.DataFrame(data)
    """
    ┌───────────┬───────────┐
    │ a ┆ b │
    │ --- ┆ --- │
    │ list[i64] ┆ list[i64] │
    ╞═══════════╪═══════════╡
    │ [1] ┆ [] │
    │ [2] ┆ [8] │
    │ [3, 4] ┆ [9, 10] │
    │ [5, 6, 7] ┆ [11, 12] │
    └───────────┴───────────┘
    """


    Each pair of lists may not have the same length, and I want to "truncate" the explode to the shortest of both lists:

    """
    ┌─────┬─────┐
    │ a ┆ b │
    │ --- ┆ --- │
    │ i64 ┆ i64 │
    ╞═════╪═════╡
    │ 2 ┆ 8 │
    │ 3 ┆ 9 │
    │ 4 ┆ 10 │
    │ 5 ┆ 11 │
    │ 6 ┆ 12 │
    └─────┴─────┘
    """


    I was thinking that maybe I'd have to fill the shortest of both lists with None to match both lengths, and then drop_nulls. But I was wondering if there was a more direct approach to this?

    Continue reading...

Compartilhe esta Página