将一行添加到将复制索引的熊猫数据框架中



我有一个带有类型dateTime对象索引的数据框。我最终将使用HDFSTORE.APPEND将此数据帧写入HDF5文件。我添加了很多需要写入此HDF5文件的行。如果我使用HDFSTORE.APPEND为每一行应用程序,则需要太长。如果我首先收集所有内容,我将用完存储器。因此,我需要间歇性地写给HDF5。

df = DataFrame([['Bob','Mary']], columns=['Boy', 'Girl'], index=[datetime.today()])

现在我想用相同的索引

向此添加另一行
row = ['John', 'Sue']

使用.loc或.ix替换现有行

df.loc[datetime.today()] = row

使用附加作品,但出于我的目的,太慢了

new_df = DataFrame([row], columns=df.columns, index=[datetime.today()])
df.append(new_df)

有更好的方法吗?

创建列表的列表并制作数据框架将比附加更快。由于您已经在创建小块的数据帧,所以为什么不一度创建它:

In [1303]: pd.DataFrame([[0,1], [1,2], [2,3]], index=[pd.datetime.today()] * 3)
Out[1303]: 
                            0  1
2015-05-07 09:02:30.327473  0  1
2015-05-07 09:02:30.327473  1  2
2015-05-07 09:02:30.327473  2  3

最新更新