2012-08-08 79 views
0

這個問題在某種程度上延續了this one。我已經能夠正確地發生什麼,我感興趣的是一個可下載的CSV文件如下在Python大熊貓中處理歐洲日期格式

import time 
import urllib2 
import csv 
import sys 
import pandas 
response=urllib2.urlopen('http://www.euribor-ebf.eu/assets/modules/rateisblue/processed_files/hist_EURIBOR_2012.csv') 
localFile = open('file.csv', 'w') 
localFile.write(response.read()) 
localFile.close() 
df2=pandas.io.parsers.read_csv('file.csv',index_col = 0, parse_dates = True, dayfirst = True)[:15].transpose()[:200] ## transpose in order to be compatible with pandas dataframe 
df2 = df2.dropna() ## drop the values which are not-a-number 
eur3m = df2['3m'] 

現在eur3m是熊貓一個Series,我想對一個給定的時間段的信息。我知道我可以用DateRange生成日期範圍。我基本上想要做的就是例如在1個月的時間內進行靜態測量(比如2012年7月1日至2012年7月31日期間的平均值和標準偏差)。由於某些原因,儘管我閱讀了試圖解析日期的csv文件,但考慮到這些日期是歐洲格式(DD/MM/YYYY),我無法關注this example。假設嘗試像

day=eur3m.index 
i = ((day >= '01/07/2012') & (day <= '31/07/2012')) 

但它不起作用。實際上一天是一串字符串。我不明白這是否正確。任何幫助?

回答

1

日期最初是作爲列名讀入的,熊貓目前不會將列名解析爲日期。對於功能要求,請在GitHub上創建一個新的問題:https://github.com/pydata/pandas/issues

現在你可以做一些後期處理:

eur3m.index = [datetime.datetime.strptime(x, '%d/%m/%Y') for x in eur3m.index] 
+0

謝謝你的提示:它解決了我的疑惑以及一些操作上的天日期時間模塊 – 2012-08-09 07:44:02