Timedeltas là sự khác biệt về thời gian, được biểu thị bằng đơn vị khác biệt, e. g. ngày, giờ, phút, giây. Chúng có thể là cả tích cực và tiêu cực
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 là một lớp con của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']9 và hoạt động theo cách tương tự, nhưng cho phép tương thích với các loại
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]0 cũng như một loạt các biểu diễn, phân tích cú pháp và thuộc tính tùy chỉnh
Phân tích cú pháp #
Bạn có thể xây dựng một đại lượng vô hướng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 thông qua các đối số khác nhau, bao gồm các chuỗi Thời lượng ISO 8601
In [1]: import datetime # strings In [2]: pd.Timedelta["1 days"] Out[2]: Timedelta['1 days 00:00:00'] In [3]: pd.Timedelta["1 days 00:00:00"] Out[3]: Timedelta['1 days 00:00:00'] In [4]: pd.Timedelta["1 days 2 hours"] Out[4]: Timedelta['1 days 02:00:00'] In [5]: pd.Timedelta["-1 days 2 min 3us"] Out[5]: Timedelta['-2 days +23:57:59.999997'] # like datetime.timedelta # note: these MUST be specified as keyword arguments In [6]: pd.Timedelta[days=1, seconds=1] Out[6]: Timedelta['1 days 00:00:01'] # integers with a unit In [7]: pd.Timedelta[1, unit="d"] Out[7]: Timedelta['1 days 00:00:00'] # from a datetime.timedelta/np.timedelta64 In [8]: pd.Timedelta[datetime.timedelta[days=1, seconds=1]] Out[8]: Timedelta['1 days 00:00:01'] In [9]: pd.Timedelta[np.timedelta64[1, "ms"]] Out[9]: Timedelta['0 days 00:00:00.001000'] # negative Timedeltas have this string repr # to be more consistent with datetime.timedelta conventions In [10]: pd.Timedelta["-1us"] Out[10]: Timedelta['-1 days +23:59:59.999999'] # a NaT In [11]: pd.Timedelta["nan"] Out[11]: NaT In [12]: pd.Timedelta["nat"] Out[12]: NaT # ISO 8601 Duration strings In [13]: pd.Timedelta["P0DT0H1M0S"] Out[13]: Timedelta['0 days 00:01:00'] In [14]: pd.Timedelta["P0DT0H0M0.000000123S"] Out[14]: Timedelta['0 days 00:00:00.000000123']
DateOffsets [
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]2] cũng có thể được sử dụng trong xây dựng.
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']
Hơn nữa, các phép toán giữa các số vô hướng mang lại một số vô hướng khác
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8
________số 8
to_timedelta#
Sử dụng
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]4 cấp cao nhất, bạn có thể chuyển đổi vô hướng, mảng, danh sách hoặc Sê-ri từ định dạng/giá trị timedelta được công nhận thành loại
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8. Nó sẽ xây dựng Sê-ri nếu đầu vào là Sê-ri, vô hướng nếu đầu vào giống vô hướng, nếu không, nó sẽ xuất ra một
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6
Bạn có thể phân tích cú pháp một chuỗi thành Timedelta
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']
hoặc một danh sách/mảng chuỗi
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]
Đối số từ khóa
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]7 chỉ định đơn vị của Timedelta nếu đầu vào là số
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']5
Cảnh báo
Nếu một chuỗi hoặc mảng chuỗi được chuyển làm đầu vào thì đối số từ khóa
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]7 sẽ bị bỏ qua. Nếu một chuỗi không có đơn vị được chuyển thì đơn vị mặc định là nano giây được giả định
giới hạn múi giờ #
gấu trúc đại diện cho
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]9 ở độ phân giải nano giây sử dụng số nguyên 64 bit. Như vậy, giới hạn số nguyên 64 bit xác định giới hạn
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']9
hoạt động #
Bạn có thể thao tác trên Sê-ri/DataFrames và xây dựng Sê-ri
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51 thông qua các phép toán trừ trên Sê-ri
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']52 hoặc
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']53
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]3
Các phép toán với số vô hướng từ chuỗi
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]5
Chuỗi múi giờ có giá trị
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']55 được hỗ trợ
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]7
Các phần tử có thể được đặt thành
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']55 bằng cách sử dụng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']57 tương tự với datetimes
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']0
Toán hạng cũng có thể xuất hiện theo thứ tự đảo ngược [một đối tượng đơn lẻ được vận hành với Sê-ri]
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']1
Các hoạt động của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']58 và
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']59 tương ứng được hỗ trợ trên các khung
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']2
Hoạt động của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']90 cũng được hỗ trợ trên Sê-ri. Một kết quả vô hướng sẽ là một
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']3
Bạn có thể fillna trên timedelta, chuyển timedelta để nhận một giá trị cụ thể
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']4
Bạn cũng có thể phủ định, nhân lên và sử dụng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']92 trên
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]9
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']5
giảm #
Thao tác giảm số cho
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51 sẽ trả về đối tượng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8. Như thường lệ,
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']55 bị bỏ qua trong quá trình đánh giá
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']6
Chuyển đổi tần số #
Sê-ri Timedelta,
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 và
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 vô hướng có thể được chuyển đổi thành các 'tần số' khác bằng cách chia cho một timedelta khác hoặc bằng cách gõ vào một loại timedelta cụ thể. Các hoạt động này mang lại Chuỗi và lan truyền
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']55 ->
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]30. Lưu ý rằng phép chia theo vô hướng NumPy là phép chia thực, trong khi phép chia theo kiểu tương đương với phép chia sàn
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']7
Chia hoặc nhân một Sê-ri
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51 với một số nguyên hoặc Sê-ri số nguyên sẽ tạo ra một Sê-ri
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51 dtypes khác
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']8
Phép chia làm tròn [phép chia sàn] của Sê-ri
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']51 bởi một số vô hướng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 cho một dãy số nguyên
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']9
Các thao tác mod [%] và divmod được xác định cho
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 khi hoạt động với một dạng timedelta khác hoặc với một đối số số
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']0
Thuộc tính#
Bạn có thể truy cập trực tiếp các thành phần khác nhau của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 hoặc
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 bằng cách sử dụng các thuộc tính
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]38. Các giá trị này giống hệt với các giá trị được trả về bởi
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']9, ví dụ: thuộc tính
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]50 biểu thị số giây >= 0 và < 1 ngày. Chúng được ký tùy theo việc
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 có được ký hay không
Các hoạt động này cũng có thể được truy cập trực tiếp thông qua thuộc tính
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]52 của
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]53.
Ghi chú
Lưu ý rằng các thuộc tính KHÔNG phải là giá trị được hiển thị của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8. Sử dụng
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]55 để truy xuất các giá trị được hiển thị
Đối với một
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]53
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']1
Bạn có thể truy cập trực tiếp giá trị của các trường cho một vô hướng
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']2
Bạn có thể sử dụng thuộc tính
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]55 để truy cập dạng rút gọn của timedelta. Điều này trả về một
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]59 được lập chỉ mục tương tự như
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]53. Đây là những giá trị được hiển thị của
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']3
Bạn có thể chuyển đổi một
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8 thành một chuỗi Thời lượng theo tiêu chuẩn ISO 8601 bằng phương pháp
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]73
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']4
TimedeltaIndex#
Để tạo chỉ mục với múi giờ thời gian, bạn có thể sử dụng hàm tạo
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 hoặc hàm tạo
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]75
Sử dụng
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6, bạn có thể truyền các đối tượng dạng chuỗi,
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']8,
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]78 hoặc
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]0. Vượt qua
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']00 sẽ đại diện cho các giá trị bị thiếu
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']5
Chuỗi 'suy luận' có thể được chuyển để đặt tần suất của chỉ mục làm tần suất được suy luận khi tạo
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']6
Tạo phạm vi thời gian deltas#
Tương tự như
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']01, bạn có thể xây dựng các phạm vi thông thường của một
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 bằng cách sử dụng
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]75. Tần suất mặc định cho
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']04 là ngày dương lịch
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']7
Có thể sử dụng các kết hợp khác nhau của
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']05,
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']06 và
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']07 với
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']04
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']8
Tham số
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']09 có thể truyền nhiều bí danh tần số .
In [16]: pd.Timedelta[pd.offsets.Day[2]] + pd.Timedelta[pd.offsets.Second[2]] + pd.Timedelta[ ....: "00:00:00.000123" ....: ] ....: Out[16]: Timedelta['2 days 00:00:02.000123']9
Việc chỉ định
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']05,
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']06 và
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']07 sẽ tạo ra một loạt các múi giờ cách đều nhau từ
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']05 đến
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']06, với số lượng phần tử
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']07 trong kết quả là
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']0
Sử dụng Timedelta Index#
Tương tự như các chỉ số giống như ngày giờ khác,
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']17 và
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']18, bạn có thể sử dụng
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 làm chỉ mục của các đối tượng gấu trúc
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']1
Các lựa chọn hoạt động tương tự, với sự ép buộc đối với các chuỗi và lát cắt
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']2
Ngoài ra, bạn có thể sử dụng lựa chọn chuỗi một phần và phạm vi sẽ được suy ra
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']3
hoạt động #
Cuối cùng, sự kết hợp của
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]6 với
In [15]: pd.Timedelta[pd.offsets.Second[2]] Out[15]: Timedelta['0 days 00:00:02']17 cho phép một số hoạt động kết hợp nhất định bảo toàn NaT
In [17]: pd.to_timedelta["1 days 06:05:01.00003"] Out[17]: Timedelta['1 days 06:05:01.000030'] In [18]: pd.to_timedelta["15.5us"] Out[18]: Timedelta['0 days 00:00:00.000015500']4
Chuyển đổi #
Tương tự như chuyển đổi tần suất trên
In [19]: pd.to_timedelta[["1 days 06:05:01.00003", "15.5us", "nan"]] Out[19]: TimedeltaIndex[['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None]53 ở trên, bạn có thể chuyển đổi các chỉ số này để tạo ra một Chỉ số khác