I have the following code:
rows =[]
for dt in new_info:
x = dt['state']
est = dt['estimates']
col_R = [val['choice'] for val in est if val['party'] == 'Rep']
col_D = [val['choice'] for val in est if val['party'] == 'Dem']
incumb = [val['party'] for val in est if val['incumbent'] == True ]
rows.append((x, col_R, col_D, incumb))
Now I want to convert my rows list into a pandas data frame. Structure of my rows list is shown below and my list has 32 entries.

When I convert this into a pandas data frame, I get the entries in the data frame as a list. :
pd.DataFrame(rows, columns=["State", "R", "D", "incumbent"])

But I want my data frame like this

The new info variable looks like this
