How to convert list to row dataframe with Pandas

115,192

Solution 1

You can use:

df = pd.DataFrame([A])
print (df)
   0  1  2    3 4
0  1  d  p  bab  

If all values are strings:

df = pd.DataFrame(np.array(A).reshape(-1,len(A)))
print (df)

   0  1  2    3 4
0  1  d  p  bab  

Thank you AKS:

df = pd.DataFrame(A).T
print (df)
   0  1  2    3 4
0  1  d  p  bab  

Solution 2

This is somewhat peripheral to your particular issue, but I figured I would post it in case it helps someone else out.

To convert a list of lists (and give each column a name), just pass the list to the data attribute (along with your desired column names) when instantiating the new dataframe, like so:

my_python_list = [['foo1', 'bar1'],
                  ['foo2', 'bar2']]
new_df = pd.DataFrame(columns=['my_column_name_1', 'my_column_name_2'], data=my_python_list)

result:

  my_column_name_1 my_column_name_2
0             foo1             bar1
1             foo2             bar2
Share:
115,192

Related videos on Youtube

Federico Gentile
Author by

Federico Gentile

Contact: [email protected] Skills: Data Analytics Data Science Web Development Programming: Python, C, CUDA HTML, CSS, jQuery Azure

Updated on November 08, 2020

Comments

  • Federico Gentile
    Federico Gentile over 3 years

    I have a list of items like this:

    A = ['1', 'd', 'p', 'bab', '']
    

    My goal is to convert such list into a dataframe of 1 row and 5 columns. If I type pd.DataFrame(A) I get 5 rows and 1 column. What should I do in order to get the result I want?

  • AKS
    AKS about 7 years
    What about pd.DataFrame(A).T?
  • vagabond
    vagabond over 5 years
    pd.DataFrame([A]) converts list into a series, not a row.
  • David R
    David R almost 2 years
    Using pd.DataFrame(A).T can break dtypes.