2014-07-12 115 views
2

我试图从MySQL服务器的数据,使数据帧一出后援SQL查询我使用的是如何将熊猫系列转换为时间序列?

sql="""SELECT dp.Date, dp.Open , dp.High, dp.Low, dp.Close, dp.Volume, dp.Adj 
    FROM tickers AS tick 
    INNER JOIN daily_price AS dp 
    ON dp.ticker_id = tick.id 
    WHERE tick.ticker = '%s' 
    ORDER BY dp.Date ASC;"""%(ticker) 
goog = psql.frame_query(sql, con=con, index_col='Date') 

这是工作完全正常,但是当我使用的功能df=obtain_df(ticker)obtain_df只是功能获得dataframe)并使用type(df['High'])panda.series而不是timeseries?我不知道这个原因。在我的SQL服务器中,日期格式为'DATE'。

你可以建议我如何将系列转换为时间序列?

da['Date']=pd.DatetimeIndex(da['Date']) 

da.set_index('Date') 

print da.head() 

我得到以下输出enter image description here

如何使日期列的索引。

+0

从'dataframe'为例给出了一些数据。 – furas

+0

您目前的数据格式是什么?你可以用'df ['Date']来测试dtype' – Ffisegydd

+0

df ['Date']。dtype将它作为一个对象,所以我如何改变日期 – user3792657

回答

0

尝试:

df['Date'] = pd.DatetimeIndex(df['Date']) 

或:

df['Date'] = pd.to_datetime(df['Date']) 

如果你有不寻常的格式datetime

df['Date'] = pd.to_datetime(df['Date'], format="%d%m%Y") 
+0

我使用了第一个,它确实工作,但知道它不能将我的日期设置为索引,更多信息请查看我在编辑中的问题 – user3792657

+0

'da.set_index(da ['Date'])' – furas