Я создал фрейм данных с помощью этого кода: Цель этого состоит в том, чтобы найти недельный минимум и получить даты, когда недельный минимум имел место. Для этого:
import pandas as pd
from pandas_datareader import data as web
import pandas_datareader
import datetime
df = web.DataReader('GOOG', 'yahoo', start, end)
df2 = web.DataReader('GOOG', 'yahoo', start, end)
start = datetime.datetime(2021,1,1)
end = datetime.datetime.today()
df['Date1'] = df.index
df['month'] = df.index.month
df['week'] = df.index.week
df['day'] = df.index.day
df.set_index('week',append=True,inplace=True)
df.set_index('day',append=True,inplace=True)
Чтобы узнать недельный минимум:
df['Low'].groupby(['week']).min().tail(50)
Я пытаюсь выяснить дату, когда произошел недельный минимум: Например, 1735.420044
Если я попытаюсь сделать это :
df['Low'].isin([1735.420044])
Я получаю :
Date week day
2020-12-31 53 31 False
2021-01-04 1 4 False
2021-01-05 1 5 False
2021-01-06 1 6 False
2021-01-07 1 7 False
...
2021-08-02 31 2 False
2021-08-03 31 3 False
2021-08-04 31 4 False
2021-08-05 31 5 False
2021-08-06 31 6 False
Name: Low, Length: 151, dtype: bool
Как я могу получить фактические даты минимума?
Используйте
df['Low'].idxmin()
— это вернет индекс метки(ей) минимального значения.Я пытаюсь получить даты, когда недельные минимумы. Вот почему я проиндексировал его, чтобы получить значение каждой недели.
вы всегда можете сгруппировать по неделям, а затем использовать idxmin
Отвечает ли это на ваш вопрос? Получить наименьшее значение после groupby - Pandas