2

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

日時形式を含む列をスライスしたい。

4

2 に答える 2

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

スライスする範囲を定義する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
于 2012-10-26T08:18:26.063 に答える
0

usecols個々の列を読み取るためのオプションをファイル リーダーに追加する予定です。おそらく pandas 0.10 用 (今月後半)

于 2012-10-27T13:41:51.020 に答える