我有一个带有类型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