我想過濾掉週末數據,只查看週一至週五的數據(mon(0)-fri(4))。我是熊貓新手,在熊貓中完成這個最好的方法是什麼?在熊貓我如何groupby weekday()爲日期時間列?
import datetime
from pandas import *
data = read_csv("data.csv")
data.my_dt
Out[52]:
0 2012-10-01 02:00:39
1 2012-10-01 02:00:38
2 2012-10-01 02:01:05
3 2012-10-01 02:01:07
4 2012-10-01 02:02:03
5 2012-10-01 02:02:09
6 2012-10-01 02:02:03
7 2012-10-01 02:02:35
8 2012-10-01 02:02:33
9 2012-10-01 02:03:01
10 2012-10-01 02:08:53
11 2012-10-01 02:09:04
12 2012-10-01 02:09:09
13 2012-10-01 02:10:20
14 2012-10-01 02:10:45
...
我想這樣做:
weekdays_only = data[data.my_dt.weekday() < 5]
AttributeError的: 'numpy.int64' 對象有沒有屬性 '工作日'
但是,這並不工作,我的天堂不太清楚列日期時間對象是如何訪問的。
最終的目標是分層次安排平日小時的範圍內,這樣的:
monday, 0-6, 7-12, 13-18, 19-23
tuesday, 0-6, 7-12, 13-18, 19-23
不確定你的用例,但通常你可以通過將'parse_dates = True'和'index_col ='作爲關鍵字參數傳遞給'read_csv'並且'read_csv'返回一個'pandasTimeSeries'來使用'my_dt'作爲索引'。那麼你可以簡單地做'weekdays = data [data.index.weekday <5]' –
bmu