Python 熊猫数据帧。。逐行重采样
我有一些日内股票数据(例如,DateTime、Open、Close),我想通过当天的聚合度量来扩展这些数据。 比如: 日期时间,打开,关闭,打开(打开日),关闭(关闭日) 当我使用resample()时,它会对一整天进行重新采样:Python 熊猫数据帧。。逐行重采样,python,pandas,Python,Pandas,我有一些日内股票数据(例如,DateTime、Open、Close),我想通过当天的聚合度量来扩展这些数据。 比如: 日期时间,打开,关闭,打开(打开日),关闭(关闭日) 当我使用resample()时,它会对一整天进行重新采样: DateTime Open Close T_OPEN T_CLOSE 165 2017-04-26 08:00:00 12485.6 12473.6 12485.6 12463.4 166 2017-04-26
DateTime Open Close T_OPEN T_CLOSE
165 2017-04-26 08:00:00 12485.6 12473.6 12485.6 12463.4
166 2017-04-26 08:15:00 12473.9 12473.9 12485.6 12463.4
167 2017-04-26 08:30:00 12473.6 12466.1 12485.6 12463.4
168 2017-04-26 08:45:00 12466.4 12469.6 12485.6 12463.4
169 2017-04-26 09:00:00 12470.1 12460.4 12485.6 12463.4
170 2017-04-26 09:15:00 12460.1 12460.1 12485.6 12463.4
171 2017-04-26 09:30:00 12459.9 12459.6 12485.6 12463.4
172 2017-04-26 09:45:00 12459.4 12463.4 12485.6 12463.4
173 2017-04-26 10:00:00 12462.9 12463.4 12485.6 12463.4
但我正在寻找一种按行重新采样的方法。
因此,对于每一行,close等于t_close,因为它是givin点的最后一个obs(t_High将是该行之前的最高点)
像这样:
DateTime Open Close T_OPEN T_CLOSE
165 2017-04-26 08:00:00 12485.6 12473.6 12485.6 12473.6
166 2017-04-26 08:15:00 12473.9 12473.9 12485.6 12473.9
167 2017-04-26 08:30:00 12473.6 12466.1 12485.6 12466.1
168 2017-04-26 08:45:00 12466.4 12469.6 12485.6 12469.6
你有什么想法吗
更新
在评论之后,我决定创建一个更一般的问题:)
我需要根据所有数据计算额外的列,直到我处理的行。这意味着:
T_OPEN = is always equal to the "OPEN" value from the first Obs of that day
T_Close = is always the "CLOSE" value from the current line
T_HIGH = is the highest "HIGH" value until that row of that day
T_LOW = is the lowest "LOW" value until that row of that day
我可以通过在数据帧上迭代两次来解决这个问题。。。但我正在寻找/希望一个更像潘达斯的选择:)
谢谢并致以最良好的祝愿,
我想我明白你想做什么了。这应该起作用:
df = df.loc[df['Open'] <= df['Close']]
df['T_CLOSE'] = df['Close']
df=df.loc[df['Open']我通过迭代和保留较高/较低值的值来解决这个问题
谢谢!
Elenio如果你的解决方案还可以,告诉我,我想投赞成票;)我想这是由OP来决定的……但我不介意投赞成票:)因为我的主要问题是我不理解这个问题。所以如果接受或给出评论,解决方案是正确的,我也会投反对票。对不起,我不知道你想对第一行做什么Works,虽然它有点太简单了。我需要一些类似的东西来表示高点和低点。我将用一个更通用的例子更新我的问题!谢谢@pshep123@Ele,什么是Obs?