GiveEmMoZo
GiveEmMoZo

Reputation: 69

Getting a list of arrays into a Pandas dataframe

So I have a list of arrays in Python: [[0, 1, 0, 1], [1, 0, 1, 1], [0, 1, 1, 1]]. I would like to make this list of arrays into a Pandas dataframe, with each array being a row. Is there a way to do this quickly and easily in Python? I tried values = np.split(values, len(values)) to split the list of arrays into multiple arrays (well, I tried). And then tried to create a dataframe with df = pd.DataFrame(values). But this is where my error came from. I got a "must pass 2-d input" error message. Any idea what I'm doing wrong and how to fix it? Or an easier way to go about this? Thanks!

Upvotes: 1

Views: 6115

Answers (1)

willeM_ Van Onsem
willeM_ Van Onsem

Reputation: 476659

No need to do all that splitting, etc. If you have it as a list of lists that is two dimensional (meaning all rows have the same number of elements), you can simply pass it to the DataFrame constructor:

data = [[0, 1, 0, 1], [1, 0, 1, 1], [0, 1, 1, 1]]
pd.DataFrame(data)

generating the expected:

>>> pd.DataFrame(data)
   0  1  2  3
0  0  1  0  1
1  1  0  1  1
2  0  1  1  1

Upvotes: 5

Related Questions