Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert two lists to a dataframe without ['xxx'] tags in python?

I created the following two lists in Python and want to convert these into a dataframe.

When I run the following code:

print(scores)
print('-'*100)
print(player)
print('-'*100)

dataframe = {'Score': scores, 'Player': player}
df = pd.DataFrame(data=dataframe)

print(df)

I get the following results:

[['1 : 0'], ['2 : 0'], ['3 : 0'], ['3 : 1'], ['4 : 1'], ['5 : 1'], ['6:1'], 
 ['6 : 2']]
 --------------------------------------------------------------------------- 
 -------------------------
 [['Tjeerd Westdijk'], ['Emiel Wendt'], ['Brayen Bröcker'], ['Kenneth Misa- 
   Danso'], ['Sabir Achefay'], ['Sabir Achefay'], ['Denzel James'], 
   ['Kenneth Misa-Danso']]
   ------------------------------------------------------------------------- 
   ---------------------------

 Score                Player
0  [1 : 0]     [Tjeerd Westdijk]
1  [2 : 0]         [Emiel Wendt]
2  [3 : 0]      [Brayen Bröcker]
3  [3 : 1]  [Kenneth Misa-Danso]
4  [4 : 1]       [Sabir Achefay]
5  [5 : 1]       [Sabir Achefay]
6  [6 : 1]        [Denzel James]
7  [6 : 2]  [Kenneth Misa-Danso]

But I don't want to get my elements in [ ] . How can I fix this?

Thanks.

like image 715
Teunvdv Avatar asked Jan 22 '26 10:01

Teunvdv


1 Answers

You can use a dict comprehension to convert the list of list to a single list , then call the dataframe constructor:

pd.DataFrame({k:np.concatenate(v) for k, v in dataframe.items()})

Or:

import itertools
pd.DataFrame({k:itertools.chain.from_iterable(v) for k, v in dataframe.items()})
like image 119
anky Avatar answered Jan 24 '26 01:01

anky