snippetpythonCritical
Create a Pandas Dataframe by appending one row at a time
Viewed 0 times
pandastimeappendingrowdataframeonecreate
Problem
How do I create an empty
I created an empty
Then I can add a new row at the end and fill a single field with:
It works for only one field at a time. What is a better way to add new row to
DataFrame, then add rows, one by one?I created an empty
DataFrame:df = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))Then I can add a new row at the end and fill a single field with:
df = df._set_value(index=len(df), col='qty1', value=10.0)It works for only one field at a time. What is a better way to add new row to
df?Solution
You can use
df.loc[i], where the row with index i will be what you specify it to be in the dataframe.>>> import pandas as pd
>>> from numpy.random import randint
>>> df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
>>> for i in range(5):
>>> df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))
>>> df
lib qty1 qty2
0 name0 3 3
1 name1 2 4
2 name2 2 8
3 name3 2 1
4 name4 9 6Code Snippets
>>> import pandas as pd
>>> from numpy.random import randint
>>> df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
>>> for i in range(5):
>>> df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))
>>> df
lib qty1 qty2
0 name0 3 3
1 name1 2 4
2 name2 2 8
3 name3 2 1
4 name4 9 6Context
Stack Overflow Q#10715965, score: 926
Revisions (0)
No revisions yet.