我有几个目前拥有所有月末数据的数据框。
我现在使用以下脚本导入财务数据:
import csv
import pandas as pd
import numpy as np
import urllib.request
urllib.request.urlretrieve(
'http://chart.finance.yahoo.com/table.csv?s=^GSPC&a=4&b=1&c=2013&d=5&e=1&f=2016&g=m&ignore=.csv',
'gspc.csv'
)
table = pd.read_csv('gspc.csv')
Date Open High Low Close Volume Adj Close
49 2012-05-01 1,398 1,415 1,292 1,310 4158095900 1,310
48 2012-06-01 1,310 1,363 1,267 1,362 4103472300 1,362
47 2012-07-02 1,362 1,392 1,325 1,379 3663113300 1,379
正如我所说,我需要将这些数据记录到月末。 即。
Date Open High Low Close Volume Adj Close
49 2012-05-31 1,398 1,415 1,292 1,310 4158095900 1,310
48 2012-06-30 1,310 1,363 1,267 1,362 4103472300 1,362
47 2012-07-31 1,362 1,392 1,325 1,379 3663113300 1,379
我试过
table['Date'] = pd.to_datetime(table['Date'])
table.set_index('Date').resample('M')
table
但是并没有成功,但是" M"应该是" month end frequency"。
答案 0 :(得分:3)
这应该是你正在寻找的东西
table['Date'] = table['Date'] - pd.tseries.offsets.MonthEnd()
答案 1 :(得分:0)
好像您只想将索引中的日期从月初转换为月末,即12月1日至12月31日。您可以尝试重采样并持续:
table.set_index('Date').resample('M').last()