1

Consider dataframe:

df = pd.DataFrame([
    ("a", (1,2,3)),
    ("b", (5,6)),
    ("c", (0,1,3)),
], columns=["label", "values"])
df

>   label   values
> 0     a  (1,2,3)
> 1     b    (5,6)
> 2     c  (0,1,3)

I want to extract values tuples into a column such that there's only one value per row:

>   label  value
> 0     a      1
> 1     a      2
> 2     a      3
> 3     b      5
> 4     b      6
> 5     c      0
> 6     c      1
> 7     c      3

How to achieve that?

Sociopath
  • 13,068
  • 19
  • 47
  • 75
koPytok
  • 3,453
  • 1
  • 14
  • 29

1 Answers1

2

You can use df.explode:

df = df.explode("values")
Sociopath
  • 13,068
  • 19
  • 47
  • 75