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 surePlease note the numbers represent index in Required Pandas DF above.
15 Answers
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 suredf = 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 sureThank 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 10 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']
dfto get this:
col1 col2 col3
0 1 2 3alternatively 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']
dfto get this:
col1
0 1
1 2
2 3 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 sureAnd 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 3 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 sureIt 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 sureor
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 sureHope this helps!!
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)
pandas.DataFrame({'Column_Name':Column_Data})
- Column_Name : String
- Column_Data : List Form
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})