我想使用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
我想切片包含日期时间格式的列。
答案 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)
并对其进行切片(获取MatchDate
和x
之间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(本月晚些时候)