I want to find the next max value after getting the first Max value in the same array for the following:
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.
How to find Highest_high_2
and Highest_index_2
?
I used numpy's argmax() to find the index of of largest value and amax to find the largest value alone.
Any help will be appreciated.
You can do it this way,
Highest_high_2 = df['High'].sort_values()[-2]
Highest_index_2 = df['High'].sort_values().index[-2]