python - 为日期索引创建列
问题描述
为 noob python 问题道歉。
我正在运行以下代码:
######import the relevant packages######
#used for urls parsing
import urllib.parse
#used for making http calls on the internet
import requests
#allows for loading and unloading json data
import json
#used for date and time functions
import datetime
import time
#used for data processing
import numpy as np
import pandas as pd
#expand column width
pd.set_option("display.max_columns", 1000)
#data time parameters
date = datetime.date
today = datetime.date.today()
end_date_delta = datetime.timedelta(days=1)
start_date_delta = datetime.timedelta(days=7)
start_date = today - start_date_delta
end_date = today - end_date_delta
#test end point
url = "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=AAPL&apikey=demo"
#initial json response
response = requests.get(url)
#data returned by api in string format
json = json.loads(response.text)
#convert json to dataframe
data = pd.DataFrame.from_dict(json['Time Series (Daily)'], orient= 'index').sort_index(axis=1)
data.rename(columns={'1. open': 'open', '2. high': 'high', '3. low': 'low', '4. close': 'close', '5. volume': 'volume'}, inplace = True)
#extract close price and volume
data = data[['close']]
print(data)
输出如下所示:
close
2020-06-12 338.8000
2020-06-11 335.9000
2020-06-10 352.8400
2020-06-09 343.9900
2020-06-08 333.4600
但我想展平文件并添加一个“日期”列,以便进行日期过滤。我希望它看起来像这样:
date close
2020-06-12 338.8000
2020-06-11 335.9000
2020-06-10 352.8400
2020-06-09 343.9900
2020-06-08 333.4600
我该如何解决?任何帮助,将不胜感激。谢谢你。
解决方案
由于日期是index
,所以你可能想做reset_index
data = data.rename_axis('date').reset_index()