2024-09-26 04:49:41 发布
网友
我希望创建一个固定行数的数据帧,比如说100行。你知道吗
Dataframe有以下列:datetimeindex,stock closing price,EMA5,EMA12。你知道吗
当on_ticks函数运行时,我向它追加新行,它被推到底部,最旧的行被丢弃,保持dataframe的大小不变。(所有行上移1)
有什么建议吗?你知道吗
我认为在将新行追加到底部之后,您应该按^{}删除第一行的位置,并添加^{}以避免可能的SettingWithCopyWarning:
SettingWithCopyWarning
df = df.iloc[1:].copy()
如果要筛选最后100行:
df = df.iloc[-100:].copy()
假设您的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
我认为在将新行追加到底部之后,您应该按^{} 删除第一行的位置,并添加^{} 以避免可能的
SettingWithCopyWarning
:如果要筛选最后100行:
假设您的datetime索引是按升序排序的,您可以按如下方式进行
创建虚拟数据帧
解决方案
相关问题 更多 >
编程相关推荐