固定行数的数据帧

2024-06-16 08:24:06 发布

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

我希望创建一个固定行数的数据帧,比如说100行。你知道吗

Dataframe有以下列:datetimeindex,stock closing price,EMA5,EMA12。你知道吗

当on_ticks函数运行时,我向它追加新行,它被推到底部,最旧的行被丢弃,保持dataframe的大小不变。(所有行上移1)

有什么建议吗?你知道吗


Tags: 数据函数dataframeonstockprice建议closing
1条回答
网友
1楼 · 发布于 2024-06-16 08:24:06

我认为在将新行追加到底部之后,您应该按^{}删除第一行的位置,并添加^{}以避免可能的SettingWithCopyWarning

df = df.iloc[1:].copy()

如果要筛选最后100行:

df = df.iloc[-100:].copy()
网友
2楼 · 发布于 2024-06-16 08:24:06

假设您的datetime索引是按升序排序的,您可以按如下方式进行

创建虚拟数据帧

import pandas as pd
df = pd.DataFrame(np.random.rand(100,3), columns=list("ABC"))
df.set_index(pd.date_range("oct-27-2019", periods=100, freq="min"), inplace=True)

解决方案

## add new row for next minute
df.loc[df.iloc[-1].name + pd.Timedelta(1, "min")] = [0.1,0.1,0.1]
## remove the oldest row in the dataframe
df.drop(index=df.iloc[0].name, inplace=True)
df

相关问题 更多 >