Wednesday 5 June 2019

python - Add one row to pandas DataFrame



I understand that pandas is designed to load fully populated DataFrame but I need to create an empty DataFrame then add rows, one by one.
What is the best way to do this ?



I successfully created an empty DataFrame with :




res = DataFrame(columns=('lib', 'qty1', 'qty2'))


Then I can add a new row and fill a field with :



res = res.set_value(len(res), 'qty1', 10.0)


It works but seems very odd :-/ (it fails for adding string value)




How can I add a new row to my DataFrame (with different columns type) ?


Answer



>>> 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 6

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...