2016-05-04 35 views
0

基本上,我不想在我的圖中繪製極值。我認爲根據圖的斜率來做這件事是一個好主意,但由於某種原因,我不斷收到錯誤,我的X軸上的日期不存在(DataFrame沒有Datumtijd屬性)。 (編輯:刪除文件的位置,因爲問題已被解答)Python 2.7不繪製基於熊貓數據框中的斜率的極值

from pylab import * 
import matplotlib.pyplot as plt 
import matplotlib.dates as pld 
%matplotlib inline 
import pandas as pd 
from pandas import DataFrame 
pbn135 = pd.read_csv('3873_135.csv', parse_dates=[0], index_col = 0, dayfirst = True, delimiter = ';', usecols = ['Datumtijd','DisplayWaarde']) 
pbn135.plot() 

for i in range(len(pbn135)): 
    slope = (pbn135.DisplayWaarde[i+1]-pbn135.DisplayWaarde[i])/(pbn135.Datumtijd[i+1]-pbn135.Datumtijd[i]) 

回答

0

Python無法使用DateTime操作。將日期時間轉換爲整數。通常通過計算參考日期的總秒數(例如2015年1月1日)來完成。

這是通過從datetime導入datetime完成的。然後,通過設置參考日期datetime(2015,1,1)秒計算出total_seconds()

但是,這確實會創建一個斜坡,其間隔爲秒,而不是您的日期時間間隔。如果有人知道如何解決這個問題,不用手動輸入一個分區,請告訴我們

from datetime import datetime 

for i in range(len(pbn135)): 
    slope = (pbn135.pbn73[i+1]-pbn135.pbn73[i])/((pbn135.index[i+1]-datetime(2015,1,1)).total_seconds()-(pbn135.index[i]-datetime(2015,1,1)).total_seconds()) 
    print slope 
相關問題