我做了數據幀從sqlite3的數據庫更改索引到日期/時間類型的熊貓?
df = sql.read_frame("SELECT * FROM hzmo_report;", cnx, index_col='datum')
打印df.dtypes - >給予議案我:
id int64
osiguranika int64
korisnika int64
omjer float64
mirovina float64
udio float64
neto_placa int64
neto_datum object
sredstva int64
dzd_korisnika int64
dzd_djece int64
dzd_sredstva_sr float64
dzd_sredstva_bz float64
dzd_isplata int64
url object
值ID,什麼被命名爲 '基準' 數據基地:
print df.index
Index([2012-12-01, 2013-01-01, 2012-11-01, 2013-02-01, 2012-09-01, 2012-10-01, 2012-08-01, 2012-07-01, 2012-06-01, 2012-05-01, 2012-04-01, 2012-03-01, 2012-02-01, 2011-12-01, 2011-11-01, 2011-10-01, 2011-09-01, 2011-08-01, 2011-07-01, 2011-06-01, 2011-05-01, 2011-04-01, 2011-03-01, 2012-01-01, 2011-02-01, 2011-01-01, 2010-12-01, 2010-11-01, 2010-10-01, 2010-09-01, 2010-08-01, 2010-07-01, 2010-06-01, 2010-05-01, 2010-04-01, 2010-03-01, 2010-02-01, 2010-01-01, 2009-12-01, 2009-10-01, 2009-11-01, 2013-03-01], dtype=object)
那麼如何將id(索引)從int64類型更改爲某種日期/時間類型?
我不會這樣做,這樣的id將被排序。
另外如何從索引中刪除日期,因爲我每口只有一個條目,所以頻率應該是每月。例如。 2012-12-01至2012-12等。
UPDATE:
當你從SQL數據庫構建數據幀無秩序從來沒有使用SQL查詢BY「你的日期欄」
這是很重要的,因爲否則的話,你的數據幀就不會被訂購你的日期欄。
所以我的SQL
df = sql.read_frame("SELECT * FROM hzmo_report;", cnx, index_col='datum')
應該是:
df = sql.read_frame("SELECT * FROM hzmo_report ORDER BY datum;", cnx, index_col='datum')
我發現,隨着'df.index = pd.to_datetime(df.index)'我可以轉換爲DatetimeIndex。唯一的問題是如何將頻率設置爲1個月? – WebOrCode 2013-05-06 12:07:08
我在代碼中還發現了一個更大的BUG,它在SQL查詢中。爲什麼我的行不按日期排序的原因是SQL查詢,我使用'SELECT * FROM hzmo_report;'但是這不會按日期排序我不得不使用'SELECT * FROM hzmo_report ORDER BY datum;'。現在我的行按日期排序。 – WebOrCode 2013-05-06 13:33:24