我了解pandas旨在加载完全填充的内容,DataFrame但是我需要创建一个空的DataFrame然后逐行添加行。做这个的最好方式是什么 ?
DataFrame
我成功创建了一个空的DataFrame:
res = DataFrame(columns=('lib', 'qty1', 'qty2'))
然后,我可以添加新行,并用以下字段填充字段:
res = res.set_value(len(res), 'qty1', 10.0)
它有效,但看起来很奇怪:-/(添加字符串值失败)
-/
如何将新行添加到DataFrame(具有不同的列类型)?
>>> 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)