使用pandas索引csv文件中的datetime列

时间:2012-10-26 05:05:33

标签: python pandas

我想使用pandas在csv文件中对包含datetime类型的列进行切片。

提前感谢。

代表:data.csv

Country,Player,Runs,ScoreRate,MatchDate,Weekday
Afghanistan,Mohammad Shahzad,118,97.52,16-02-2010,Tue
india,schin,112,98.02,16-03-2010,wed

我想切片包含日期时间格式的列。

2 个答案:

答案 0 :(得分:4)

如果我理解你的问题,那就是你怎么做的:

from pandas import *

通过MatchDate读取数据,索引:

frame=read_csv("dates.csv",  parse_dates = True, index_col = 4)
print frame

                Country            Player  Runs  ScoreRate Weekday
MatchDate                                                         
2010-02-16  Afghanistan  Mohammad Shahzad   118      97.52     Tue
2010-03-16        india             schin   112      98.02     wed

定义两个日期时间对象,用于定义您想要切片的范围:

x=datetime(2010, 1, 5)
y=datetime(2010, 2, 25)

并对其进行切片(获取MatchDatex之间y的所有行:

print frame.ix[x:y]
                Country            Player  Runs  ScoreRate Weekday
MatchDate                                                         
2010-02-16  Afghanistan  Mohammad Shahzad   118      97.52     Tue

如果您只想获得某个月或某年,您可以这样做:

frame.ix['2010-2']

            Country            Player  Runs  ScoreRate Weekday
MatchDate                                                         
2010-02-16  Afghanistan  Mohammad Shahzad   118      97.52     Tue

答案 1 :(得分:0)

我打算在文件阅读器中添加usecols选项,以便读出各列。可能是大熊猫0.10(本月晚些时候)