Lấy mẫu lại trăn

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: int64
2/
>>> 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
3

Quy 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 0

Trụ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 định

Chỉ 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

offset Timedelta hoặc str, mặc định là Không có

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ọn

Có 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: int64
4 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: int64
5 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: int64
6

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: int64
7

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: int64
2 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: int64
2 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: int64
2

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: int64
4 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: int64
5

>>> 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
5

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: int64
4 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: int64
7

>>> 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
8

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: int64
8

>>> 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
0

Đố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: int64
1

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: int64
2

Đố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: int64
0

Đố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: int64
1

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: int64
2

>>> 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
3

>>> 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
4

>>> 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
5

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: int64
6

>>> 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
7

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: int64
8

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: int64
9

Để 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

Chủ Đề