How do I create an empty DataFrame
, then add rows, one by one?
I created an empty DataFrame
:
JavaScript
x
2
1
df = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))
2
Then I can add a new row at the end and fill a single field with:
JavaScript
1
2
1
df = df._set_value(index=len(df), col='qty1', value=10.0)
2
It works for only one field at a time. What is a better way to add new row to df
?
Advertisement
Answer
You can use df.loc[i]
, where the row with index i
will be what you specify it to be in the dataframe.
JavaScript
1
15
15
1
>>> import pandas as pd
2
>>> from numpy.random import randint
3
4
>>> df = pd.DataFrame(columns=['lib', 'qty1', 'qty2'])
5
>>> for i in range(5):
6
>>> df.loc[i] = ['name' + str(i)] + list(randint(10, size=2))
7
8
>>> df
9
lib qty1 qty2
10
0 name0 3 3
11
1 name1 2 4
12
2 name2 2 8
13
3 name3 2 1
14
4 name4 9 6
15