【发布时间】:2021-10-12 18:49:04
【问题描述】:
我使用以下代码创建了一个数据框: 这样做的目的是找到每周低点并获得每周低点发生的日期。 为此:
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
-
这能回答你的问题吗? Get lowest value after groupby - Pandas
标签: python python-3.x pandas multi-index