首页 > 解决方案 > 替换从某一行开始的列

问题描述

考虑这个例子:

rates_frame = rates_frame[['new_date', 'new_time', 'open', 'high', 'low', 'close', 'tick_volume']]
rates_frame
rates_frame.head()

产生这个输出:

费率数据框

我想用从第 0 行open开始的列中的值替换从第 1 行close开始的列中的值。

标签: pythonpandas

解决方案


您正在寻找shift. pandas这会将特定列中的值移动指定数量的句点

你只需要这个

rates_frame['open_new'] = rates_frame['close'].shift(1)

PS:从股市的角度来看,我认为你不应该这样做。今天的开盘价不一定等于前一天的收盘价。您可以查看向上空开、向下空开和不变等主题。只有在后一种情况下,您所做的才是正确的。


推荐阅读