创建日期索引列

时间:2020-06-13 01:19:33

标签: python python-3.x pandas numpy datetime

为noob python问题道歉。

我正在运行以下代码:

looksee <- function(df, n = 6) df[seq(1, nrow(df), length.out = n),]

looksee(mydf)
#   name value
#1     a   101
#6     f   106
#11    k   111
#16    p   116
#21    u   121
#26    z   126

looksee(mydf, 10)
#   name value
#1     a   101
#3     c   103
#6     f   106
#9     i   109
#12    l   112
#14    n   114
#17    q   117
#20    t   120
#23    w   123
#26    z   126

输出看起来像这样:

######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

如何解决?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:2)

由于日期是index,所以您可能想做reset_index

data = data.rename_axis('date').reset_index()