python - 如何获得最后n行的标准差?

标签 python pandas

我在 pandas 数据框中加载了 OHLC csv。我正在尝试获取最后 n 行的标准。我正在循环 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()

最佳答案

我认为这可能有效

df.tail(n).std()

关于python - 如何获得最后n行的标准差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50550927/

相关文章:

python - 如何迭代 pandas 数据框中的每一列和每个单元格

python - 如何有效地填充时间序列?

python - 将字符串拆分为 x 个字符

python - 如何根据条件有效地重新排序行?

python - 故障转移选项在 mysql.connector 中抛出错误

python - 类型错误 : 'int' object is not subscriptable {Python}

python - 如何根据标题名称移动 csv 中的数据并将其移动到同一列?

python - Pandas Dataframe 线图在 x 轴上显示日期

python - 在 Python 中,如何检查文件是否存在以子字符串开头或结尾?

python - pip安装openpyxl失败--如何克服proxy