2013-05-10 28 views
2

我有文本文件中的數據,我已成功地解析成MultiIndex熊貓結構,但我不知道我有沒有做我想做的事情。如何使用Pandas數據結構來計算自相關?

我所擁有的是很多帶有許多標識符(索引)的時間序列數據。我最終需要計算每個時間序列的自動關聯時間和其他時間序列統計。

#!/usr/bin/python 

from pandas import Series, DataFrame, MultiIndex 
... 
data = Series(value, index=[smear, block, obser]) 
print data 

print data.ix[('0.07','1','0')] 

這產生這樣輸出的數據結構:

0.07 0 0  1.5802561 
     1 0.82228274 
     2 0.70917131 
     3 0.90707599 
     4  0.8517223 
     5 0.26346815 
     1 0  1.8163109 
     1  0.9972372 
     2  1.0872181 
     3  1.2459765 
     4  1.1500478 
     5 0.35668446 
     2 0  2.0734421 
     1  1.2863641 
     2  1.4033583 
... 
0.34 2 3  1.9047537 
     4  1.8193612 
     5 0.77739654 
     3 0  2.2757423 
     1  1.5499509 
     2  1.6623247 
     3  1.8330889 
     4  1.7484187 
     5 0.72914635 
     4 0  2.3269071 
     1  1.7137621 
     2  1.7359068 
     3  1.9162268 
     4  1.9714984 
     5  1.2095218 
Length:0 

,並在塗抹,塊,安裝前後的指定值存在的時間序列信息我感興趣英寸這裏舉一個例子,塗抹= 0.07,塊= 1,觀察= 0.最右邊的列是我的時間序列數據。

0.07 1 0 1.8163109 
     0 1.8191682 
     0  1.816836 
     0 1.8172168 
     0 1.8169705 
... 
     0 1.8184542 
     0 1.8170772 
     0 1.8159326 
     0 1.8161826 
Length: 107 

如何重新塑形數據,以便我可以編寫計算自動關聯時間的函數?

+1

是不是有沒有使用''read_csv''的原因? – Jeff 2013-05-10 20:06:35

+0

我不熟悉read_csv,因爲它的名字我認爲你需要用逗號分隔數據。我沒有逗號分隔的數據。數據是除了我關心的行之外還有大量垃圾的文本文件。 – deltap 2013-05-10 20:09:02

+1

實際上'read_csv'「嗅探」了分隔符的文件,所以你從來不需要指定它是如何被分隔的 – 2013-05-10 20:11:08

回答

2

首先,使用data.ix(whatever)對象的「values」組件獲取時間序列的原始數組。然後使用numpy.correlate來計算自相關,使用this問題的答案中描述的方法。