How can I add columns into a DataFrame with For Loop?

Question:

for i in range(20):

fake_dataset.append(fake.name())
fake_dataset.append(fake.company())
fake_dataset.append(fake.date_between(start_date="-10y", end_date="now"))
fake_dataset.append(fake.email())
fake_dataset.append(fake.job())

I generate this as rows but I want to create a for loop that adds data to the respective column, names to name column etc. How can I do this?

I tried this but it didnt work:

names = []

for i in range(20):

     names.append(fake.name())

fake_dataset["Name"] = names

Error Message:
TypeError: list indices must be integers or slices, not str

Answers:

I suppose fake.name() returns name value same for other methods, so let df be our dataframe’s name:

import pandas as pd
myname = []
mycompany = []
mydate = []
myjob = []
for i in range(20):
    myname.append(fake.name())
    mycomapany.append(fake.company())
    mydate.append(fake.date_between(start_date="-10y", end_date="now"))
    myjob.append(fake.job())

df= pd.dataframe({'name':myname,'company':mycomapny,'date':mydate,'job':myjob})



    
    
Answered By: logame

Just add all information as row in df

for i in range(5):
    fake_dataset = fake_dataset.append(
        {
            'name': fake.name()
            'company':fake.company(),
            'date':fake.date_between(start_date="-10y", end_date="now"),
            'job':fake.job()
        }, ignore_index=True)
Answered By: Daniel Kanzel
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.