Python 在将每日数据转换为每周数据时,使用
通过查看前面的答案,我成功地将每日数据转换为每周数据,但我将日期设置为索引。我的目标是保留'Symbol'作为索引,并将'Date'作为一列 我尝试在字典中包含'Date'和符号作为索引,但结果是索引需要是Datetime 这是我的代码:Python 在将每日数据转换为每周数据时,使用,python,pandas,resampling,pandas-datareader,Python,Pandas,Resampling,Pandas Datareader,通过查看前面的答案,我成功地将每日数据转换为每周数据,但我将日期设置为索引。我的目标是保留'Symbol'作为索引,并将'Date'作为一列 我尝试在字典中包含'Date'和符号作为索引,但结果是索引需要是Datetime 这是我的代码: if ( data_duration == 'w' ): df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) df.sort_index
if ( data_duration == 'w' ):
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
df.sort_index(inplace=True)
def take_first(array_like):
return array_like[0]
def take_last(array_like):
return array_like[-1]
output = df.resample('W', # Weekly resample
how={'Open': take_first,
'High': 'max',
'Low': 'min',
'Close': take_last,
'Volume': 'sum'},
loffset=pd.offsets.timedelta(days=-6)) # to put the labels to Monday
df = output[['Open', 'High', 'Low', 'Close', 'Volume']]
但我想保留我的索引为“符号”,就像它在每日数据中一样,同时在“输出”中包含日期
这是每日数据的外观:
Date Close High Low Open Volume
Symbol
AAPL 2017-05-25 153.87 154.3500 153.0300 153.7300 19235598
AAPL 2017-05-26 153.61 154.2400 153.3100 154.0000 21927637
但是,在每周格式化之后,除了“Symbol”之外,所有内容都保持不变。如何修复此问题?您想要取消堆栈()
:
它会将其中一个索引级别移动为数据帧中的一列。大概是这样的:
df.unstack('Date')