2016-06-14 29 views
7

Tôi có một khung dữ liệu với dữ liệu về thời gian của lúa mì thứ hai trong số df.Xóa các hàng không kinh doanh trong ngày từ khung dữ liệu gấu trúc

df = wt["WHEAT_USD"] 

2016-05-02 02:00:00+02:00 4.780 
2016-05-02 02:01:00+02:00 4.777 
2016-05-02 02:02:00+02:00 4.780 
2016-05-02 02:03:00+02:00 4.780 
2016-05-02 02:04:00+02:00 4.780 
Name: closeAsk, dtype: float64 

Khi tôi vẽ dữ liệu, nó có đường ngang khó chịu vì cuối tuần. Có cách đơn giản nào đơn giản là xóa các ngày không kinh doanh khỏi chính khung dữ liệu đó.

Something như

df = df.BDays() 

Trả lời

14

Một giải pháp đơn giản là để cắt qua những ngày không Thứ Hai đến Thứ Sáu:

In [11]: s[s.index.dayofweek < 5] 
Out[11]: 
2016-05-02 00:00:00 4.780 
2016-05-02 00:01:00 4.777 
2016-05-02 00:02:00 4.780 
2016-05-02 00:03:00 4.780 
2016-05-02 00:04:00 4.780 
Name: closeAsk, dtype: float64 

Lưu ý: đây không tính đến ngày lễ ngân hàng tài khoản, vv

+0

Cảm ơn sự giúp đỡ! – vandelay

3

Pandas BDay chỉ kết thúc bằng cách sử dụng .dayofweek<5 như câu trả lời đã chọn, nhưng có thể được mở rộng t o tài khoản cho các ngày lễ ngân hàng, v.v.

import pandas as pd 
from pandas.tseries.offsets import BDay 

isBusinessDay = BDay().onOffset 
csv_path = 'C:\\Python27\\Lib\\site-packages\\bokeh\\sampledata\\daylight_warsaw_2013.csv' 
dates_df = pd.read_csv(csv_path) 
match_series = pd.to_datetime(dates_df['Date']).map(isBusinessDay) 
dates_df[match_series] 
Các vấn đề liên quan