我想使用pandas在csv文件中对包含datetime类型的列进行分割。使用熊猫在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
我想切片含日期时间格式列。
我想使用pandas在csv文件中对包含datetime类型的列进行分割。使用熊猫在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
我想切片含日期时间格式列。
我打算添加一个usecols
选项用于读取各个列的文件读取器。可能对大熊猫0.10(本月晚些时候)
如果我正确理解你的问题,那你怎么能做到这一点:通过MatchDate
from pandas import *
读入的数据,索引:
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
定义两个DateTime对象的定义范围的你想要切片:
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
谢谢,但有帮助但是,如果例如我们不知道列4包含日期时间值。我想从csv切片日期时间类型列。 – nikhilkabbin
我不知道我明白。你的意思是,你只想读取具有特定日期时间值的行吗?要做到这一点,您仍然必须知道哪些列包含数据时间对象。 – root
好吧,我想我不清楚。我有未知的数据集,其中一列包含日期,如何切片包含日期的特定列? – nikhilkabbin
你试过了什么? – bmu
@bmu data.dtypes [data.dtypes == pandas.datetime] .index但列出了所有列。如果你尝试同样的方法为浮点数或字符串,它会返回所需的浮点数或字符串列 – nikhilkabbin
然后你应该在你的问题中发布这个(你可以编辑它)。如果您也可以提供一些示例数据,这将有所帮助。 – bmu