小编典典

通过一次追加一行来创建 Pandas 数据框

all

我知道 Pandas 旨在加载一个完全填充的DataFrame,但我需要 创建一个空的 DataFrame 然后逐一添加行
。做这个的最好方式是什么?

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

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

然后我可以添加一个新行并用以下内容填充一个字段:

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

它有效,但看起来很奇怪:-/(添加字符串值失败。)

如何向我的 DataFrame 添加新行(具有不同的列类型)?


阅读 157

收藏
2022-02-25

共1个答案

小编典典

您可以使用df.loc[i],其中带有索引的i行将是您在数据框中指定的行。

>>> 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
2022-02-25