我有一列數據文件,其中包含第1列中的日期和第2至第n列中的一系列測量值。我喜歡熊貓瞭解日期,但我無法弄清楚如何做簡單的最合適的線。使用np.polyfit很容易,但它不明白日期。我的嘗試樣本如下。使用熊貓作爲基於時間的數據的最佳擬合線
from datetime import datetime
from StringIO import StringIO
import pandas as pd
zdata = '2013-01-01, 5.00, 100.0 \n 2013-01-02, 7.05, 98.2 \n 2013-01-03, 8.90, 128.0 \n 2013-01-04, 11.11, 127.2 \n 2013-01-05 13.08, 140.0'
unames = ['date', 'm1', 'm2']
df = pd.read_table(StringIO(zdata), sep="[ ,]*", header=None, names=unames, \
parse_dates=True, index_col=0)
Y = pd.Series(df['m1'])
model = pd.ols(y=Y, x=df, intercept=True)
In [232]: model.beta['m1']
Out[232]: 0.99999999999999822
In [233]: model.beta['intercept']
Out[233]: -7.1054273576010019e-15
如何解釋這些數字?如果我使用1,2..5而不是日期np.polyfit給出[2.024,2.9558] 這是我期望的斜率和截距。
我尋找簡單的例子,但沒有找到任何。
pandas看起來像statsmodels和patsy庫,所以pip在調用pd.ols之前安裝它們 – Antony 2013-07-08 02:34:34