Convert List to Pandas Dataframe Column

PythonListPandasDataframe

Python Problem Overview


I need to Convert my list into a one column pandas dataframe

Current List (len=3):

['Thanks You', 'Its fine no problem', 'Are you sure']

Required Pandas DF (shape =3,):

0 Thank You
1 Its fine no problem
2 Are you sure

Please note the numbers represent index in Required Pandas DF above.

Python Solutions


Solution 1 - Python

Use:

L = ['Thanks You', 'Its fine no problem', 'Are you sure']

#create new df 
df = pd.DataFrame({'col':L})
print (df)

                   col
0           Thanks You
1  Its fine no problem
2         Are you sure

df = pd.DataFrame({'oldcol':[1,2,3]})

#add column to existing df 
df['col'] = L
print (df)
   oldcol                  col
0       1           Thanks You
1       2  Its fine no problem
2       3         Are you sure

Thank you DYZ:

#default column name 0
df = pd.DataFrame(L)
print (df)
                     0
0           Thanks You
1  Its fine no problem
2         Are you sure

Solution 2 - Python

if your list looks like this: [1,2,3] you can do:

import pandas as pd

lst = [1,2,3]
df = pd.DataFrame([lst])
df.columns =['col1','col2','col3']
df

to get this:

	col1	col2	col3
0	1	    2	    3

alternatively you can create a column as follows:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.array([lst]).T)
df.columns =['col1']
df

to get this:

  col1
0	1
1	2
2	3

Solution 3 - Python

You can directly call the pd.DataFrame() method and pass your list as the parameter.

import pandas as pd
l = ['Thanks You','Its fine no problem','Are you sure']
pd.DataFrame(l)

Output:

                      0
0	         Thanks You
1	Its fine no problem
2	       Are you sure

And if you have multiple lists and you want to make a dataframe out of it. You can do it as following:

import pandas as pd
names =["A","B","C","D"]
salary =[50000,90000,41000,62000]
age = [24,24,23,25]
data = pd.DataFrame([names,salary,age]) #Each list would be added as a row
data = data.transpose() #To Transpose and make each rows as columns
data.columns=['Names','Salary','Age'] #Rename the columns
data.head()

Output:

	Names	Salary	Age
0	    A    50000	 24
1	    B	 90000	 24
2	    C	 41000	 23
3	    D	 62000	 25

Solution 4 - Python

Example:

['Thanks You', 'Its fine no problem', 'Are you sure']

code block:

import pandas as pd
df = pd.DataFrame(lst)

Output:

    0
0	Thanks You
1	Its fine no problem
2	Are you sure

It is not recommended to remove the column names of the panda dataframe. but if you still want your data frame without header(as per the format you posted in the question) you can do this:

df = pd.DataFrame(lst)    
df.columns = ['']

Output will be like this:

0	Thanks You
1	Its fine no problem
2	Are you sure

or

df = pd.DataFrame(lst).to_string(header=False)

But the output will be a list instead of a dataframe:

0           Thanks You
1  Its fine no problem
2         Are you sure

Hope this helps!!

Solution 5 - Python

For Converting a List into Pandas Core Data Frame, we need to use DataFrame Method from pandas Package.

There are Different Ways to Perform the Above Operation. (assuming Pandas is imported as pd)

  1. pandas.DataFrame({'Column_Name':Column_Data})
  • Column_Name : String
  • Column_Data : List Form
  1.  Data = pandas.DataFrame(Column_Data)`
     Data.columns = ['Column_Name']
    

So, for the above mentioned issue, the code snippet is

import pandas as pd

Content = ['Thanks You',
           'Its fine no problem',
           'Are you sure']

Data = pd.DataFrame({'Text': Content})

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionInherited GeekView Question on Stackoverflow
Solution 1 - PythonjezraelView Answer on Stackoverflow
Solution 2 - PythonGrant ShannonView Answer on Stackoverflow
Solution 3 - PythonSadiq RazaView Answer on Stackoverflow
Solution 4 - PythonPrafulla DiweshView Answer on Stackoverflow
Solution 5 - PythonKranthiView Answer on Stackoverflow