我有一个装载在熊猫数据的OHLC csv。我在试着得到最后一排的性病。我在浏览df。以下是我迄今所做的工作:
df['std'] = np.zeros([len(df), 1])
for i, row in df.iterrows():
df['std'][i] = df['Close'][-(i+ln):i].std()编辑:
为了清楚起见,我需要每一行的最后n行的std。假设我的行索引是100,n是25。我需要75:100 std,并需要将此应用于每一行。这是我的解决方案,但我认为这是一条漫长的路:
for i, row in df.iterrows():
if i > ln-2:
end = -(clen-i)
begin = end - ln
df['std'][i] = df['Close'][begin:end].std()发布于 2018-05-27 10:18:56
您可以使用熊猫DataFrame rolling函数。在您的示例中,我不确定您想要的只是最后n行的std,还是在df['std']的第一行中,您希望拥有从( In )-th到df['Close']的第一行的std。
第二种选择可以这样做:
df['std'] = df['Close'].rolling(n).std()发布于 2018-05-27 10:15:12
我觉得这可能有用
df.tail(n).std()https://stackoverflow.com/questions/50550927
复制相似问题