2017-04-21 155 views
1
def dataset(): 
    with sqlite3.connect("project.db") as db: 
      cursor1=db.cursor() 
      d1= "select date1,delta from Payment" 
      cursor1.execute(d1) 
      df=DataFram(data=cursor1.fetchall(),columns=['date','delta']) 
      print df.head() 
      print '\n Data Types' 
      print df.dtypes 
      print df.index 
      df.info() 

如何使此數據幀成爲時間序列? 謝謝大家。如何將數據幀轉換爲時間序列

enter image description here

+0

時間序列意味着索引是'DatetimeIndex',那麼當前的索引是什麼? 'df.info()'顯示什麼? – EdChum

+0

我編輯了這個問題:-) –

+0

你需要做'df.index = pd.to_datetime(df ['date'])'將你的索引設置爲'datetimeindex' – EdChum

回答

1

的時間序列意味着指數必須DatetimeIndex,從鏈路判斷你的形象,你需要轉換後設置索引:

df.index = pd.to_datetime(df['date']) 
+0

,然後輸入(df)它仍然會打印pandas.core.frame.DataFrame。我相信我們正在尋找的是時間序列對象,對吧?據McKinney說,Wes。用於數據分析的Python:用Pandas,NumPy和IPython修改數據(Kindle Location 6861)。 O'Reilly媒體。 Kindle版。 ...當我們運行'df.index'時,它應該打印:'pandas.tseries.index.DatetimeIndex' –

+0

@RyanChase我的筆記本上沒有最新版本,首先'df'的類型應該保持爲一個'pandas.DataFrame'我的機器上的索引更改爲'pandas.tseries.index.DatetimeIndex',因爲我無法訪問您的數據和代碼我無法進一步評論爲什麼它不適用於您 – EdChum

1

能否請您出示的數據的一個具體的例子嗎?

只要索引是格式爲pandas.datetime的日期,您的數據幀就可以是時間序列。 要做到這一點,你可以輸入:

df.index = pandas.datetime.strptime("date_field") 
相關問題