python - 如何查找数组中的下一个最大值

标签 python pandas numpy dataframe quantitative-finance

我想在获得同一数组中的第一个最大值后找到下一个最大值:

             Open    High     Low   Close    Volume
Date                                                
2017-07-03  370.24  371.35  351.50  352.62   6305401
2017-07-05  347.20  347.24  326.33  327.09  17046701
2017-07-06  317.26  320.79  306.30  308.83  19324495
2017-07-07  313.50  317.00  307.38  313.22  14176915
2017-07-10  312.90  317.94  303.13  316.05  13820889
2017-07-11  316.00  327.28  314.30  327.22  11559402
2017-07-12  330.40  333.10  324.50  329.52  10346127
2017-07-13  330.11  331.60  319.97  323.41   8594466
2017-07-14  323.19  328.42  321.22  327.78   5625211
2017-07-17  325.54  327.10  313.45  319.57   9876912
2017-07-18  317.50  329.13  315.66  328.24   6373720
2017-07-19  328.23  331.65  323.22  325.26   6357014
2017-07-20  326.90  330.22  324.20  329.92   5166188
2017-07-21  329.46  331.26  325.80  328.40   4901606

import datetime as dt
from datetime import timedelta as td
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
import numpy as np

start = dt.datetime(2017, 7, 1)
# retrieving data from google
df = web.DataReader('TSLA', 'google', start)
Dates = df.index
Highs = df['High'] # Getting only the values from the 'High' Column.
Highest_high = np.amax(Highs)  # returns the Highest value
> 371.35 #Output

Highests_index = Highs.argmax()  # returns the index of Highest value
> 2017-07-03 00:00:00 #Output
Highest_high_2 = ? # Highest High excluding the previous high discovered.
Highest_index_2 = ? # shall have index of the above Highest_high_2.

如何查找Highest_high_2Highest_index_2

我使用numpy的argmax()来查找最大值的索引,并使用amax来单独查找最大值。

任何帮助将不胜感激。

最佳答案

你可以这样做,

Highest_high_2 = df['High'].sort_values()[-2]

Highest_index_2 = df['High'].sort_values().index[-2]

关于python - 如何查找数组中的下一个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45255422/

相关文章:

python - 删除 Pandas 系列中的空列表

python - 为什么在 numpy 数组上使用 *= 会修改原始数组?

python - 有没有纯 Python、BSD 风格的开源 SVG 库?

python - 如何在将数据推送到 MSSQL 之前删除所有特殊字符

javascript - 关于简单键值存储的字典与对象的 Python 最佳实践是什么?

python - 找到 3 个 DataFrame 之间的共同值?

python - 多序列互相关避免for循环

Python - Pandas 使用 np.where 创建列以获取多个不同的值

python - 根据条件删除列表元素

Python 多处理在连接处挂起