通过一次追加一行来创建熊猫数据帧
如何创建一个空的,然后逐个添加行?DataFrame
我创建了一个空的:DataFrame
df = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))
然后,我可以在末尾添加一个新行,并用以下命令填充单个字段:
df = df._set_value(index=len(df), col='qty1', value=10.0)
它一次只适用于一个字段。向中添加新行的更好方法是什么?df
如何创建一个空的,然后逐个添加行?DataFrame
我创建了一个空的:DataFrame
df = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))
然后,我可以在末尾添加一个新行,并用以下命令填充单个字段:
df = df._set_value(index=len(df), col='qty1', value=10.0)
它一次只适用于一个字段。向中添加新行的更好方法是什么?df
您可以使用 ,其中带有索引的行将是您在数据帧中指定它所在的行。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
如果可以预先获取数据框的所有数据,则有一种比追加到数据框快得多的方法:
我有一个类似的任务,逐行追加到数据框需要30分钟,并从几秒钟内完成的字典列表创建数据框。
rows_list = []
for row in input_rows:
dict1 = {}
# get input row in dictionary format
# key = col_name
dict1.update(blah..)
rows_list.append(dict1)
df = pd.DataFrame(rows_list)