Tôi làm việc tại một thời gian khá sử dụng python và gấu trúc để phân tích một tập hợp các dữ liệu hàng giờ và thấy nó khá đẹp (Đến từ Matlab.)gấu trúc, python - làm thế nào để chọn thời điểm cụ thể trong chuỗi thời gian
Bây giờ tôi bị mắc kẹt. Tôi tạo ra tôi DataFrame
như thế:
SamplingRateMinutes=60
index = DateRange(initialTime,finalTime, offset=datetools.Minute(SamplingRateMinutes))
ts=DataFrame(data, index=index)
Những gì tôi muốn làm bây giờ là để chọn dữ liệu cho tất cả các ngày tại giờ 10 đến 13 và 20-23 để sử dụng dữ liệu để tính toán thêm. Cho đến nay tôi thái lát các dữ liệu sử dụng
selectedData=ts[begin:end]
Và tôi chắc chắn để có được một số loại vòng lặp bẩn để chọn dữ liệu cần thiết. Nhưng phải có một cách thanh lịch hơn để lập chỉ mục những gì tôi muốn. Tôi chắc chắn đây là một vấn đề thường gặp và giải pháp trong giả nên nhìn hơi như thế:
myIndex=ts.index[10<=ts.index.hour<=13 or 20<=ts.index.hour<=23]
selectedData=ts[myIndex]
Để đề cập đến tôi là một kỹ sư và không programer :) ... nhưng
Hoạt động! Cảm ơn rất nhiều! –
Đây là cách giải pháp này sẽ được thực hiện trong cú pháp cho 0.10 và kết hợp nó với câu trả lời của Wes bên dưới: 'dr = pd.date_range (dt (2009,1,1), dt (2010,12,31), freq = 'H'); dt = pd.DataFrame (rand (len (dr), 2), dr); giờ = dt.index.hour; bộ chọn = ((10 <= giờ) & (giờ <= 13)) | ((20 <= giờ) & (giờ <= 23)) dữ liệu = dt [chọn] ' –