Phương pháp thuận tiện để chuyển đổi tần số và lấy mẫu lại chuỗi thời gian. Đối tượng phải có chỉ mục giống như ngày giờ [DatetimeIndex, PeriodIndex hoặc TimedeltaIndex] hoặc người gọi phải chuyển nhãn của chuỗi/chỉ mục giống ngày giờ cho tham số từ khóa
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int642/
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int643Quy tắc tham số DateOffset, Timedelta hoặc str
Chuỗi bù trừ hoặc đối tượng đại diện cho chuyển đổi mục tiêu
trục {0 hoặc 'chỉ mục', 1 hoặc 'cột'}, mặc định 0Trục nào được sử dụng để lấy mẫu lên hoặc xuống. Đối với Sê-ri, tham số này không được sử dụng và mặc định là 0. Phải là Datetime Index, Timedelta Index hoặc Period Index
đã đóng {'phải', 'trái'}, mặc định Không cóPhía nào của khoảng bin được đóng lại. Mặc định là 'trái' cho tất cả các độ lệch tần số ngoại trừ 'M', 'A', 'Q', 'BM', 'BA', 'BQ' và 'W', tất cả đều có giá trị mặc định là 'phải'
nhãn {'phải', 'trái'}, mặc định Không cóNhãn cạnh thùng nào để gắn nhãn thùng với. Mặc định là 'trái' cho tất cả các độ lệch tần số ngoại trừ 'M', 'A', 'Q', 'BM', 'BA', 'BQ' và 'W', tất cả đều có giá trị mặc định là 'phải'
quy ước {'bắt đầu', 'kết thúc', 's', 'e'}, 'bắt đầu' mặc địnhChỉ dành cho Chỉ số kỳ, kiểm soát việc sử dụng bắt đầu hay kết thúc quy tắc
loại {‘dấu thời gian’, ‘thời gian’}, tùy chọn, mặc định Không cóChuyển 'dấu thời gian' để chuyển đổi chỉ mục kết quả thành DateTime Index hoặc 'dấu thời gian' để chuyển đổi nó thành Chỉ số kỳ. Theo mặc định, đại diện đầu vào được giữ lại
loffset timedelta, mặc định Không cóĐiều chỉnh nhãn thời gian lấy mẫu lại
Không dùng nữa kể từ phiên bản 1. 1. 0. Bạn nên thêm loffset vào df. chỉ mục sau khi lấy mẫu lại. Xem bên dưới.
cơ sở int, mặc định 0Đối với các tần suất chia đều 1 ngày, "gốc" của các khoảng tổng hợp. Ví dụ: đối với tần suất '5 phút', cơ sở có thể nằm trong khoảng từ 0 đến 4. Mặc định là 0
Không dùng nữa kể từ phiên bản 1. 1. 0. Các đối số mới mà bạn nên sử dụng là 'offset' hoặc 'origin'.
bật str, tùy chọnĐối với DataFrame, cột sẽ sử dụng thay vì chỉ mục để lấy mẫu lại. Cột phải giống như ngày giờ
cấp str hoặc int, tùy chọnĐối với MultiIndex, mức [tên hoặc số] sẽ được sử dụng để lấy mẫu lại. cấp độ phải giống như datetime
xuất xứ Dấu thời gian hoặc str, mặc định là 'start_day'Dấu thời gian để điều chỉnh nhóm. Múi giờ của nguồn gốc phải khớp với múi giờ của chỉ mục. Nếu chuỗi, phải là một trong những điều sau đây
'kỷ nguyên'. nguồn gốc là 1970-01-01
'bắt đầu'. gốc là giá trị đầu tiên của chuỗi thời gian
'ngày bắt đầu'. gốc là ngày đầu tiên vào lúc nửa đêm của chuỗi thời gian
Mới trong phiên bản 1. 1. 0
'chấm dứt'. gốc là giá trị cuối cùng của chuỗi thời gian
'end_day'. nguồn gốc là nửa đêm trần của ngày cuối cùng
Mới trong phiên bản 1. 3. 0
Một timedelta bù được thêm vào nguồn gốc
Mới trong phiên bản 1. 1. 0
group_keys bool, tùy chọnCó bao gồm các khóa nhóm trong chỉ mục kết quả hay không khi sử dụng
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int644 trên đối tượng được lấy mẫu lại. Không chỉ định
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int645 sẽ giữ nguyên hành vi phụ thuộc vào giá trị từ gấu trúc 1. 4 trở về trước [xem ví dụ]. Trong phiên bản tương lai của gấu trúc, hành vi sẽ mặc định giống như chỉ định
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int646
Mới trong phiên bản 1. 5. 0
vải thun trở lại. cốt lõi. bộ lấy mẫu lạiđối tượng
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int647
Xem thêm
Lấy mẫu lại một sê-ri
Lấy mẫu lại một DataFrame
Nhóm DataFrame bằng ánh xạ, chức năng, nhãn hoặc danh sách nhãn
Lập chỉ mục lại một DataFrame với tần suất nhất định mà không cần nhóm
ghi chú
Xem để biết thêm
Để tìm hiểu thêm về chuỗi offset, vui lòng xem
ví dụ
Bắt đầu bằng cách tạo một chuỗi có 9 dấu thời gian một phút
>>> index = pd.date_range['1/1/2000', periods=9, freq='T'] >>> series = pd.Series[range[9], index=index] >>> series 2000-01-01 00:00:00 0 2000-01-01 00:01:00 1 2000-01-01 00:02:00 2 2000-01-01 00:03:00 3 2000-01-01 00:04:00 4 2000-01-01 00:05:00 5 2000-01-01 00:06:00 6 2000-01-01 00:07:00 7 2000-01-01 00:08:00 8 Freq: T, dtype: int64
Lấy mẫu xuống chuỗi thành các thùng 3 phút và tính tổng các giá trị của dấu thời gian rơi vào một thùng
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int64
Lấy mẫu xuống chuỗi thành các ngăn 3 phút như trên, nhưng dán nhãn cho từng ngăn bằng cạnh phải thay vì cạnh trái. Xin lưu ý rằng giá trị trong nhóm được sử dụng làm nhãn không được bao gồm trong nhóm mà nó gắn nhãn. Ví dụ: trong chuỗi gốc, nhóm
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int642 chứa giá trị 3, nhưng giá trị tổng trong nhóm được lấy mẫu lại có nhãn
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int642 không bao gồm 3 [nếu có, giá trị tổng sẽ là 6, không phải 3]. Để bao gồm giá trị này, hãy đóng phía bên phải của khoảng thời gian bin như được minh họa trong ví dụ bên dưới ví dụ này
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int64
Lấy mẫu xuống chuỗi thành các ngăn 3 phút như trên, nhưng đóng phía bên phải của khoảng thời gian ngăn
________số 8
Lấy mẫu chuỗi thành các thùng 30 giây
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int642
Upsample chuỗi thành các thùng 30 giây và điền vào các giá trị
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int644 bằng phương pháp
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int645
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int645
Lấy mẫu chuỗi thành các thùng 30 giây và điền các giá trị
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int644 bằng phương pháp
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int647
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int648
Truyền chức năng tùy chỉnh qua
>>> series.resample['3T', label='right', closed='right'].sum[] 2000-01-01 00:00:00 0 2000-01-01 00:03:00 6 2000-01-01 00:06:00 15 2000-01-01 00:09:00 15 Freq: 3T, dtype: int648
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int640
Đối với Sê-ri có Chỉ số kỳ, quy ước từ khóa có thể được sử dụng để kiểm soát việc sử dụng quy tắc bắt đầu hay kết thúc
Lấy mẫu lại một năm theo quý bằng cách sử dụng quy ước 'bắt đầu'. Các giá trị được chỉ định cho quý đầu tiên của khoảng thời gian
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int641
Lấy mẫu lại các quý theo tháng bằng cách sử dụng quy ước 'kết thúc'. Các giá trị được gán cho tháng cuối cùng của khoảng thời gian
>>> series.resample['3T', label='right'].sum[] 2000-01-01 00:03:00 3 2000-01-01 00:06:00 12 2000-01-01 00:09:00 21 Freq: 3T, dtype: int642
Đối với các đối tượng DataFrame, có thể sử dụng từ khóa on để chỉ định cột thay vì chỉ mục để lấy mẫu lại
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int640
Đối với DataFrame có MultiIndex, cấp độ từ khóa có thể được sử dụng để chỉ định cấp độ mà việc lấy mẫu lại cần diễn ra
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int641
Nếu bạn muốn điều chỉnh điểm bắt đầu của các thùng dựa trên dấu thời gian cố định
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int642
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int643
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int644
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int645
Nếu bạn muốn điều chỉnh điểm bắt đầu của các thùng bằng Timedelta bù, hai dòng sau là tương đương
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int646
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int647
Nếu bạn muốn lấy Dấu thời gian lớn nhất ở cuối thùng
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int648
Ngược lại với start_day, bạn có thể sử dụng end_day để lấy nửa đêm trần của Dấu thời gian lớn nhất làm phần cuối của các thùng và loại bỏ các thùng không chứa dữ liệu
>>> series.resample['3T'].sum[] 2000-01-01 00:00:00 3 2000-01-01 00:03:00 12 2000-01-01 00:06:00 21 Freq: 3T, dtype: int649
Để thay thế việc sử dụng đối số cơ sở không dùng nữa, giờ đây bạn có thể sử dụng offset, trong ví dụ này, nó tương đương với việc có base=2