Python so sánh dấu thời gian

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

Chủ Đề