def price_history_frame(mkt_id, year, month):
"""Returns price history as a DataFrame"""
url = _build_url('pricehistory/PriceHistory_GetData.cfm')
data = dict(Market_ID=mkt_id, Month='{:02d}'.format(month), Year=year)
response = requests.post(url=url, data=data)
index_cols = [iem.DATE, iem.CONTRACT]
kwargs = dict(header=0, parse_dates=[iem.DATE], index_col=index_cols)
try:
dfs = pd.read_html(response.text, **kwargs)
except ValueError:
dfs = [pd.DataFrame()]
# Expect a singleton list
assert len(dfs) == 1
# Remove duplicates, if any
df = dfs[0]
if len(df.index.unique()) != len(df.index):
df = df.groupby(level=df.index.names).first()
return df
评论列表
文章目录