所以Python和pandas模塊似乎是matlab和R的一個很好的選擇。這就是爲什麼我最近切換到了這一點。那裏有資源,我搜索了論壇,但找不到任何類似的東西。如果您有指向某些教程或其他有用材料的鏈接,請將其發佈。由日期決定的熊貓數據框索引
Wes McKinney有一個關於熊貓的精美教程。 http://www.youtube.com/watch?v=w26x-z-BdWQ&list=FLJ5xKwlfj7wg8S_A5SgR6Wg&feature=mh_lolz
在1:10他展示了一個如何用日期而不是整數爲數據框中的行建立索引的例子。 我想做類似的事情。
區別在於我有3個變量Y1,Y2,Y3,每個變量都有一列時間戳X1,X2,X3。
TestFile.txt:
X1 Y1 X2 Y2 X3 Y3
27/11/2012 11.436 29/11/2012 20.631 4/12/2012 10.209
28/11/2012 11.468 30/11/2012 20.185 5/12/2012 9.973
29/11/2012 11.414 3/12/2012 19.962 6/12/2012 9.736
30/11/2012 11.355 4/12/2012 19.562 7/12/2012 9.509
3/12/2012 11.309 5/12/2012 18.908 10/12/2012 9.259
4/12/2012 11.118 6/12/2012 18.288 11/12/2012 8.109
5/12/2012 10.873 7/12/2012 17.973
6/12/2012 10.582 10/12/2012 17.788
7/12/2012 10.264 11/12/2012 17.554
10/12/2012 9.886
11/12/2012 9.164
我想要做的4兩件事:其在西安的日期我
準數據彝族= 1,2,3
指數由行日期
刪除所有比2012年4月12日這是Y3的第一個日期的所有數據
可以按照日期和列只
這裏是一個描述瞭如何讀取數據的測試文件,以及如何打印訪問所有日期。 您可以看到X1被正確解析爲熊貓日期格式,但不是X2或X3。這就是我試圖通過指定 index_col = [0,2,4]
和
parse_dates做=真
TestFile.py:
import pandas as pd
df = pd.read_csv('TestFile.txt',sep='\t', index_col=[0,2,4], parse_dates = True)
print 'pandas version: ', pd.__version__
print df
給出輸出:
pandas version: 0.10.0b1
X1 X2 X3 Y1 Y2 Y3
2012-11-27 29/11/2012 4/12/2012 11.436 20.631 10.209
2012-11-28 30/11/2012 5/12/2012 11.468 20.185 9.973
2012-11-29 3/12/2012 6/12/2012 11.414 19.962 9.736
2012-11-30 4/12/2012 7/12/2012 11.355 19.562 9.509
2012-03-12 5/12/2012 10/12/2012 11.309 18.908 9.259
2012-04-12 6/12/2012 11/12/2012 11.118 18.288 8.109
2012-05-12 7/12/2012 None 10.873 17.973 NaN
2012-06-12 10/12/2012 None 10.582 17.788 NaN
2012-07-12 11/12/2012 None 10.264 17.554 NaN
2012-10-12 None None 9.886 NaN NaN
2012-11-12 None None 9.164 NaN NaN
求購輸出:
Y1 Y2 Y3
2012-04-12 11.118 19.562 10.209
2012-05-12 10.873 18.908 9.973
2012-06-12 10.582 18.288 9.736
2012-07-12 10.264 17.973 9.509
2012-10-12 9.886 17.788 9.259
2012-11-12 9.164 17.554 8.109
如果你有任何想法如何做到這一點,你的幫助是非常感謝:)
所以這個工程: df1 = pd.read_csv('TestFile.txt',sep ='\ t',index_col = 0,parse_dates = True,usecols = [0,1]) 這就提取了正確的日期對於第二個系列,但不解析日期: df2 = pd.read_csv('TestFile.txt',sep ='\ t',index_col = 0,parse_dates = True,usecols = [2,3]) – Marsmann
If你在解析日期的時候遇到了麻煩,就像'read_csv()'一樣,然後別擔心 - 只需以字符串的形式讀取日期即可。在將數據連接到一個df後,_then_從包含日期字符串的列中創建日期時間索引。 – Aman