2017-06-06 45 views
1

我一直在嘗試製作散景折線圖,但是我遇到了從我的熊貓數據框中用時間戳列索引x軸的問題。目前我的數據幀是這樣的:無法使用時間戳索引散景折線圖的x軸

  TMAX TMIN TAVG  DAY NUM 
2007-04-30 65 46 55.5 2007-04-30  1 
2007-05-01 75 45 60.0 2007-05-01  2 
2007-05-02 66 52 59.0 2007-05-02  3 
2007-05-03 65 43 54.0 2007-05-03  4 
2007-05-04 61 45 53.0 2007-05-04  5 
2007-05-05 65 43 54.0 2007-05-05  6 
2007-05-06 77 51 64.0 2007-05-06  7 
2007-05-07 89 66 77.5 2007-05-07  8 
2007-05-08 91 56 73.5 2007-05-08  9 
2007-05-09 83 48 65.5 2007-05-09 10 
2007-05-10 68 47 57.5 2007-05-10 11 
2007-05-11 65 46 55.5 2007-05-11 12 
2007-05-12 63 43 53.0 2007-05-12 13 
2007-05-13 65 46 55.5 2007-05-13 14 
2007-05-14 71 46 58.5 2007-05-14 15 
.... 
[3592 rows x 5 columns] 

我想指數與「天」列的值的線圖,但是,我得到一個錯誤,不管我採取的做法。線圖的文檔說「x(str或list(str),可選) - 指定用於x軸的變量」。我的代碼如下:

xyvalues = np.array([df['TAVG'], df_reg['ry'], df['DAY']]) 
regr = Line(data=xyvalues, x='DAY', title="Linear Regression of Data", ylabel="Average Daily Temperature", xlabel="Number of Days") 
output_file("regression.html") 
show(regr) 

這給了我錯誤「類型錯誤:無法比較類型'時間戳'類型'float64'」。我試圖將它轉換爲浮動,但它似乎沒有效果。任何幫助將非常感激。 df_reg ['ry']是來自線性迴歸數據框的數據。

爲線圖

文檔可以在這裏找到:http://bokeh.pydata.org/en/latest/docs/reference/charts.html#line

+0

看來你neeed Concat的兩個dataframes一起由'DF1 = pd.concat([DF [ 'TAVG', '日'],df_reg [ 'ry']],axis = 1)'然後使用'regr = Line(data = df1,x ='DAY',title =「數據的線性迴歸」,ylabel =「平均每日溫度」,xlabel =「Number )「。如果它不起作用,那麼'df_reg ['ry']。head()'? – jezrael

回答

0

裏面Line,你需要一個pandas數據幀傳送到data參數,以便能夠引用您的變量DAY爲x軸蜱。在這裏,我從其他兩個創建一個新的大熊貓DataFrame

import pandas as pd 
df2 = pd.DataFrame(data=dict(TAVG=df['TAVG'], ry=df_reg['ry'], DAY=df['DAY'])) 
regr = Line(data=df2, x='DAY', 
       title="Linear Regression of Data", 
       ylabel="Average Daily Temperature", 
       xlabel="Number of Days") 
output_file("regression.html") 
show(regr)