2015-10-17 151 views
-1

我有一個數據框,看起來像這樣。我怎樣才能從這個數據框創建一個時間序列?如何將Pandas DataFrame轉換爲TimeSeries?

df = pd.read_csv("example.csv", parse_dates=True) 
df.tail() 

輸出結果如下所示。

我試過pd.Series(df)。不過,我得到這個錯誤:ValueError異常:不能與3號複製順序排列軸線尺寸729

enter image description here

的數據,我是在外觀還是讀這樣的:
enter image description here

+0

請把真實的代碼放在曲線中estion而不是圖片才能重現您的問題。 –

+0

你不能從df構建一個系列,它們根本不同,1是1維,另一個是2維,它看起來像你想要的只是設置索引到你的'ds'列,如法比奧的答案 – EdChum

回答

2

df是你的數據幀,可以先讀它,並解析日期:

df = pd.read_csv('yourfile.csv',parse_dates=['ds']) 

那麼你可以設置它的索引,以獲得時間與指數:

df = df.set_index('ds') 

然後繼續。這取決於你的需求,但你現在應該有一個數據框準備進行時間序列分析。

編輯:

我試圖重現您的樣本數據框:

city,ds,bookings 
City_1,2013-01-01,55 
City_2,2013-01-02,56 

而且應用上述方法將返回:

df = pd.read_csv('yourfile.csv',parse_dates=['ds']) 
df = df.set_index('ds') 

返回:

   city bookings 
ds       
2013-01-01 City_1  55 
2013-01-02 City_2  56 
+0

我得到遵循您的指示後出現以下錯誤:ValueError:無法將尺寸爲2的序列複製到尺寸爲729的陣列軸。我嘗試過pd.Series(df)。 – pr338

+0

請發佈一些真實的數據,你有沒有在從文件中讀取數據幀的問題?它可能依賴於分隔符等,然後嘗試在'parse_dates'中設置日期列而不是將其設置爲'True'。 –

+0

增加了一些真實數據。謝謝你的幫助。我不認爲我在讀取數據時遇到問題。我嘗試設置parse_dates = ['ds'],並且我得到了同樣的錯誤。這是否可能是因爲我的數據框有另外的城市列,不適合時間序列? – pr338

相關問題