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
日時形式を含む列をスライスしたい。
私があなたの質問を正しく理解しているなら、それはあなたがそれをすることができる方法です:
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
スライスする範囲を定義する2つの日時オブジェクトを定義します。
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
usecols
個々の列を読み取るためのオプションをファイル リーダーに追加する予定です。おそらく pandas 0.10 用 (今月後半)