0

I'm want to create a Pandas dataframe from a list of tuples in Python.

my_list=[('integer_1',['value1', 'value2']),
         ('integer_2',['value1', 'value2']),
         ...
         ('integer_n-1',['value1', 'value2']),
         ('integer_n',['value1', 'value2'])
        ]

My DataFrame (with df.shape = [2*n,2] ) must be like this:

  integer   value
0 integer_1 value_1
1 integer_1 value_2
2 integer_2 value_1
3 integer_2 value_1
...
2n-1 integer_n value_1
2n integer_n value_2

Any suggests?

Nachengue
  • 376
  • 1
  • 2
  • 11
  • 1
    much better if you supplied actual numbers to work with. string processing will be different from numbers. We cant say if value1 will be strings/numbers. specifics are much better. – sammywemmy Jun 25 '20 at 04:50
  • does the value1 and value2 same for all the elements in list? – deadshot Jun 25 '20 at 04:51
  • Not always @komatiraju032 – Nachengue Jun 25 '20 at 04:52
  • does this help? https://stackoverflow.com/questions/38203352/expand-pandas-dataframe-column-into-multiple-rows – monte Jun 25 '20 at 04:54
  • @monte, I think it works too. I have around 50k tuples on my list. Do you think that answer is more efficient than the one published by YOBEN_S? – Nachengue Jun 25 '20 at 05:07

1 Answers1

3

You can do explode

df=pd.DataFrame(my_list,columns=['int','value']).explode('value')
           int   value
0    integer_1  value1
0    integer_1  value2
1    integer_2  value1
1    integer_2  value2
2  integer_n-1  value1
2  integer_n-1  value2
3    integer_n  value1
3    integer_n  value2
BENY
  • 317,841
  • 20
  • 164
  • 234