将一行添加到Pandas数据帧中,以复制索引

2024-05-04 21:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,其索引类型为datetime objects。我最终要用HDFStore.append. 我添加了很多行,需要写入这个HDF5文件。如果我使用HDFStore.append每排都要花很长时间。如果我先收集数据帧中的所有内容,内存就会用完。所以我需要断断续续地写HDF5。在

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

现在我想用相同的索引添加另一行

^{pr2}$

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

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

使用append可以工作,但对我来说太慢了

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

有更好的方法吗?在


Tags: columns数据类型dataframedfnewtodaydatetime
1条回答
网友
1楼 · 发布于 2024-05-04 21:28:46

创建一个列表列表并生成一个比append更快的dataframe。既然已经在创建小块的数据帧,为什么不一次性创建它:

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

相关问题 更多 >