向pandas DataFrame添加一行 [英] Add one row to pandas DataFrame

查看:128
本文介绍了向pandas DataFrame添加一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我了解pandas旨在加载完全填充的DataFrame,但我需要创建一个空的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 ?

我成功创建了一个空的DataFrame:

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)

如何将新行添加到DataFrame中(具有不同的列类型)?

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

推荐答案

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

这篇关于向pandas DataFrame添加一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆