Tôi đã có một dữ liệu trong đó nó chỉ có ngày [yyyy-mm-dd] và thời gian [hh.mm]. Tôi đang gặp lỗi cho định dạng DateTime không khớp.
Tôi muốn chuyển đổi dữ liệu hiện có của mình thành định dạng tiêu chuẩn bằng thư viện Python [gandas]. Xin vui lòng đưa ra một giải pháp thích hợp cho nó.
data = btfeed.genericcsvdata [dataname = '2017 bnf.csv',
fromdate=datetime.datetime[2017, 4, 3],
todate=datetime.datetime[2017, 4, 10],
nullvalue=0.0,
dtformat=['%Y-%m-%d'],
tmformat=['%H:%M'],
datetime=0,
time=1,
open=2,
high=3,
low=4,
close=5,
openinterest=-1
] ValueError: Dữ liệu thời gian '2017-01-02T10' không khớp với định dạng '%y-%m-%dt%h:%m'
Input [CSV]: 2017-01-02,09: 08 Đầu ra dự kiến: 2017-01-02 09: 08: 00+05: 30
Expected output:2017-01-02
09:08:00+05:30
Ngày thời gian trong tệp Pandas to CSV với các ví dụ về mã
Giải pháp đến ngày thời gian trong tệp PANDAS đến CSV sẽ được trình bày bằng cách sử dụng các ví dụ trong bài viết này.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
Như chúng ta đã thấy, ngày trong các vấn đề về tệp PANDAS đến CSV đã được giải quyết bằng cách sử dụng một số trường hợp khác nhau.
Làm cách nào để chuyển đổi ngày thành tệp CSV trong Python?
Tạo CSV và thêm dấu thời gian
- Nhập CSV và mô -đun DateTime.
- Lấy dữ liệu từ người dùng.
- Mở tệp CSV ở chế độ đọc và ghi ['r+'] bằng hàm Open [].
- Nhận ngày và thời gian hiện tại bằng cách sử dụng DateTime.
- Lặp lại tất cả các dữ liệu trong biến các hàng với sự trợ giúp của một vòng lặp.
Làm cách nào để lưu dấu thời gian trong CSV?
Hướng dẫn video để định dạng dữ liệu ngày và ngày trong tệp CSV
- YYYY-MM-DD.
- YYYY-MM-DD HH: MM: SS.
- YYYY-MM-DD HH: MM: SS.
- YYYY-MM-DDThh:mm:ssZ.
- YYYY-MM-DDThh:mm:ss.sssZ.
Làm cách nào để đọc tệp CSV từ DateTime trong Python?
Để tự động đọc ngày từ tệp CSV với Python Pandas, chúng ta có thể đặt đối số DATE_PARSER. để gọi read_csv với tệp để đọc. Và chúng tôi đặt parse_dates thành 'dateTime' thành các ngày phân tích cú pháp với DateTime .17-APR-2022
CSV có thể có định dạng ngày không?
Các điều kiện. CSV được mở trong Microsoft Excel. Định dạng ngày được nhập trong DD/mm/yyyy, nhưng Excel thay đổi định dạng năm thành hai chữ số. Ví dụ: 08/09/16 được liệt kê trong CSV hiển thị là "ngày 8 tháng 9, 16" trên hồ sơ người dùng đã nhập.23-OCT-2021
Làm cách nào để phân tách ngày và giờ trong tệp CSV trong Python?
Chọn Văn bản vào các cột và chọn không gian cho trường được phân tách bằng trường. Theo mặc định, tùy chọn Tab sẽ được bật cho trường được phân tách, vì vậy bạn sẽ cần bỏ chọn sau khi chọn không gian. Chọn cột thời gian thu thập và sau đó chọn Ngày [MDY] từ thả xuống loại cột. Khi bạn đã hoàn tất, bấm OK.
Làm cách nào để tạo tệp CSV bằng gấu trúc?
Bằng cách sử dụng gấu trúc. Khung dữ liệu. Phương thức TO_CSV [] Bạn có thể viết/lưu/xuất một tệp dữ liệu gấu trúc sang tệp CSV. Theo mặc định, TO_CSV [] Phương thức Xuất DataFrame sang tệp CSV với dấu phân cách dấu phẩy và chỉ mục hàng làm cột đầu tiên.20-JAN-2022
Làm cách nào để định dạng một ngày và thời gian ngày trong tệp CSV?
Hướng dẫn video để định dạng dữ liệu ngày và ngày trong tệp CSV
- YYYY-MM-DD.
- YYYY-MM-DD HH: MM: SS.
- YYYY-MM-DD HH: MM: SS.
- YYYY-MM-DDThh:mm:ssZ.
- YYYY-MM-DDThh:mm:ss.sssZ.
Làm cách nào để đọc tệp CSV từ DateTime trong Python?
Để tự động đọc ngày từ tệp CSV với Python Pandas, chúng ta có thể đặt đối số DATE_PARSER. để gọi read_csv với tệp để đọc. Và chúng tôi đặt parse_dates thành 'dateTime' thành các ngày phân tích cú pháp với DateTime .17-APR-2022
- CSV có thể có định dạng ngày không?
- Các điều kiện. CSV được mở trong Microsoft Excel. Định dạng ngày được nhập trong DD/mm/yyyy, nhưng Excel thay đổi định dạng năm thành hai chữ số. Ví dụ: 08/09/16 được liệt kê trong CSV hiển thị là "ngày 8 tháng 9, 16" trên hồ sơ người dùng đã nhập.23-OCT-2021
- Làm cách nào để phân tách ngày và giờ trong tệp CSV trong Python?
- Chọn Văn bản vào các cột và chọn không gian cho trường được phân tách bằng trường. Theo mặc định, tùy chọn Tab sẽ được bật cho trường được phân tách, vì vậy bạn sẽ cần bỏ chọn sau khi chọn không gian. Chọn cột thời gian thu thập và sau đó chọn Ngày [MDY] từ thả xuống loại cột. Khi bạn đã hoàn tất, bấm OK.
- Làm cách nào để tạo tệp CSV bằng gấu trúc?
Bằng cách sử dụng gấu trúc. Khung dữ liệu. Phương thức TO_CSV [] Bạn có thể viết/lưu/xuất một tệp dữ liệu gấu trúc sang tệp CSV. Theo mặc định, TO_CSV [] Phương thức Xuất DataFrame sang tệp CSV với dấu phân cách dấu phẩy và chỉ mục hàng làm cột đầu tiên.20-JAN-2022
Làm cách nào để định dạng một ngày và thời gian ngày trong tệp CSV?
- Làm cách nào để tiết kiệm một ngày trong Yyyy MM DD trong CSV?
- Re: Thay đổi định dạng ngày mặc định cho tải xuống CSV
- Nhập bảng điều khiển trên hệ thống của bạn.
- print[f"filename_{date}"]
- Re: Thay đổi định dạng ngày mặc định cho tải xuống CSV
- 'filename_2020_08_12-03:29:22_AM'
Nhập bảng điều khiển trên hệ thống của bạn.
Trong đồng hồ và khu vực, nhấp vào định dạng ngày thay đổi, thời gian hoặc số.
Gandas chứa các khả năng và tính năng rộng lớn để làm việc với dữ liệu chuỗi thời gian cho tất cả các miền. Sử dụng DTYPES
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]73 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]74, Pandas đã củng cố một số lượng lớn các tính năng từ các thư viện Python khác như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]75 cũng như tạo ra một số lượng lớn chức năng mới để thao tác dữ liệu chuỗi thời gian.
Ví dụ: Pandas hỗ trợ:
Thông tin chuỗi thời gian phân tích từ các nguồn và định dạng khác nhau
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
Tạo chuỗi các ngày và thời gian tần số cố định
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']
Thao tác và chuyển đổi thời gian ngày với thông tin thời gian
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']
Lấy mẫu lại hoặc chuyển đổi chuỗi thời gian thành một tần số cụ thể
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float64
Thực hiện số học ngày và thời gian với số thời gian tuyệt đối hoặc tương đối
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'
Pandas cung cấp một bộ công cụ tương đối nhỏ gọn và khép kín để thực hiện các tác vụ trên và hơn thế nữa.
Overview#
Pandas nắm bắt 4 khái niệm liên quan đến thời gian chung:
Thời gian ngày: Một ngày và giờ cụ thể với hỗ trợ Timezone. Tương tự như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
76 từ thư viện tiêu chuẩn.Deltas thời gian: Một thời gian tuyệt đối. Tương tự như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
77 từ thư viện tiêu chuẩn.Thời gian kéo dài: Một khoảng thời gian được xác định bởi một thời điểm và tần số liên quan của nó.
Ngày bù đắp: Thời gian thời gian tương đối tôn trọng số học lịch. Tương tự như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
78 từ góitry: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
79.
Thời gian hẹn hò | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]82 hoặc try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]83 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]84 hoặc try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]85 |
Deltas thời gian | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]87 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]88 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]89 hoặc try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]90 |
Khoảng thời gian | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]93 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 hoặc try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]95 |
Ngày bù đắp | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]97 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]97 | try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 |
Đối với dữ liệu chuỗi thời gian, thông thường của nó để thể hiện thành phần thời gian trong chỉ số của
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 hoặc
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 để có thể thực hiện các thao tác đối với phần tử thời gian.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
Tuy nhiên,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 cũng có thể trực tiếp hỗ trợ thành phần thời gian dưới dạng dữ liệu.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 có hỗ trợ và chức năng kiểu dữ liệu mở rộng cho dữ liệu
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]06,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]07 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 khi được chuyển vào các hàm tạo đó. Tuy nhiên, dữ liệu
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 sẽ được lưu trữ dưới dạng dữ liệu
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]10.
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]
Cuối cùng, gấu trúc đại diện cho thời gian ngày null, thời gian đồng bằng và thời gian kéo dài dưới dạng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]11, rất hữu ích cho việc biểu diễn ngày bị thiếu hoặc null như các giá trị và hoạt động tương tự như
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]12 cho dữ liệu nổi.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]0
Dấu thời gian so với thời gian kéo dài#
Dữ liệu theo thời gian là loại dữ liệu chuỗi thời gian cơ bản nhất liên kết các giá trị theo thời gian. Đối với các đối tượng gấu trúc, nó có nghĩa là sử dụng các thời điểm.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]1
Tuy nhiên, trong nhiều trường hợp, việc liên kết những thứ như biến thay đổi với khoảng thời gian là điều tự nhiên hơn. Khoảng thời gian được biểu thị bằng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 có thể được chỉ định rõ ràng hoặc được suy ra từ định dạng chuỗi DateTime.
Ví dụ:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]2
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 có thể đóng vai trò là một chỉ số. Danh sách của
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 được tự động ép buộc lần lượt được ép vào
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]3
Gandas cho phép bạn nắm bắt cả hai biểu diễn và chuyển đổi giữa chúng. Dưới mui xe, Pandas đại diện cho dấu thời gian bằng cách sử dụng các trường hợp
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 và các chuỗi dấu thời gian bằng cách sử dụng các trường hợp
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Đối với các khoảng thời gian thường xuyên, Pandas sử dụng các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 cho các giá trị vô hướng và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 cho các chuỗi nhịp. Hỗ trợ tốt hơn cho các khoảng không đều với điểm khởi đầu và điểm cuối tùy ý đang xuất hiện trong các bản phát hành trong tương lai.
Chuyển đổi thành dấu thời gian#
Để chuyển đổi đối tượng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 hoặc giống như danh sách của các đối tượng giống như ngày, ví dụ: Chuỗi, kỷ nguyên hoặc hỗn hợp, bạn có thể sử dụng hàm
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]84. Khi được thông qua
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00, điều này sẽ trả về
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 [có cùng chỉ mục], trong khi giống như danh sách được chuyển đổi thành
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]4
Nếu bạn sử dụng ngày bắt đầu với ngày đầu tiên [tức là kiểu châu Âu], bạn có thể vượt qua cờ
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]29:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]5
Cảnh báo
Bạn thấy trong ví dụ trên rằng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]29 không nghiêm ngặt. Nếu một ngày có thể được phân tích cú pháp với ngày đầu tiên, nó sẽ được phân tích cú pháp như thể
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]29 là sai, và trong trường hợp phân tích các chuỗi ngày được phân định [ví dụ:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]32] thì một cảnh báo cũng sẽ được nêu ra.
Nếu bạn chuyển một chuỗi duy nhất cho
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]84, nó sẽ trả về một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 cũng có thể chấp nhận đầu vào chuỗi, nhưng nó không chấp nhận các tùy chọn phân tích cú pháp chuỗi như
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]29 hoặc
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]37, vì vậy hãy sử dụng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]84 nếu chúng được yêu cầu.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]6
Bạn cũng có thể sử dụng Trình xây dựng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 trực tiếp:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]7
Chuỗi ‘suy luận có thể được truyền để đặt tần số của chỉ mục là tần số được suy ra khi tạo:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]8
Cung cấp một đối số định dạng#
Ngoài chuỗi DateTime cần thiết, một đối số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]37 có thể được thông qua để đảm bảo phân tích cú pháp cụ thể. Điều này cũng có khả năng tăng tốc độ chuyển đổi đáng kể.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]9
Để biết thêm thông tin về các lựa chọn có sẵn khi chỉ định tùy chọn
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]37, hãy xem tài liệu DateTime Python.
Lắp ráp DateTime từ nhiều cột DataFrame#
Bạn cũng có thể vượt qua
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 của các cột số nguyên hoặc chuỗi để lắp ráp thành
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 của
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]44.
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]0
Bạn chỉ có thể vượt qua các cột mà bạn cần lắp ráp.
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]1
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]45 Tìm kiếm các chỉ định tiêu chuẩn của thành phần DateTime trong tên cột, bao gồm:
Yêu cầu:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
46,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
47,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
48Tùy chọn:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
49,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
50,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
51,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
52,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
53,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
54
Dữ liệu không hợp lệ#
Hành vi mặc định,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]55, là nâng cao khi không thể ghi lại:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]2
Vượt qua
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]56 để trả về đầu vào ban đầu khi không thể ghi nhận:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]3
Vượt qua
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]57 để chuyển đổi dữ liệu không thể ghi lại thành
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]11 [không phải thời gian]:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]4
Thời gian thời gian sử dụng#
Gấu trúc hỗ trợ chuyển đổi số nguyên hoặc thời gian nổi sang
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Đơn vị mặc định là nano giây, vì đó là cách các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 được lưu trữ bên trong. Tuy nhiên, các kỷ nguyên thường được lưu trữ trong một
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]62 khác có thể được chỉ định. Chúng được tính toán từ điểm bắt đầu được chỉ định bởi tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63.
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]5
Ghi chú
Tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]62 không sử dụng cùng một chuỗi với tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]37 đã được thảo luận ở trên]. Các đơn vị có sẵn được liệt kê trên tài liệu cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]66.above]. The available units are listed on the documentation for
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]66.
Đã thay đổi trong phiên bản 1.0.0.
Xây dựng một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 với dấu thời gian kỷ nguyên với đối số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]69 được chỉ định sẽ tăng giá trị. Nếu bạn có kỷ nguyên trong thời gian tường trong một múi giờ khác, bạn có thể đọc các kỷ nguyên dưới dạng dấu thời gian ngây thơ theo thời gian và sau đó định vị vào múi giờ thích hợp:
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]6
Ghi chú
Tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]62 không sử dụng cùng một chuỗi với tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]37 đã được thảo luận ở trên]. Các đơn vị có sẵn được liệt kê trên tài liệu cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]66.
Đã thay đổi trong phiên bản 1.0.0.
Xây dựng một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 với dấu thời gian kỷ nguyên với đối số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]69 được chỉ định sẽ tăng giá trị. Nếu bạn có kỷ nguyên trong thời gian tường trong một múi giờ khác, bạn có thể đọc các kỷ nguyên dưới dạng dấu thời gian ngây thơ theo thời gian và sau đó định vị vào múi giờ thích hợp:Python floats have about 15 digits precision in decimal. Rounding during conversion from float to high precision
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 is unavoidable. The only way to achieve exact precision is to use a fixed-width types [e.g. an int64].
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]7
Thời đại kỷ nguyên sẽ được làm tròn đến nano giây gần nhất.
Cảnh báo
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]8
Chuyển đổi thời gian Epoch nổi có thể dẫn đến kết quả không chính xác và bất ngờ. Phao Python có độ chính xác khoảng 15 chữ số trong thập phân. Làm tròn trong quá trình chuyển đổi từ phao sang độ chính xác cao
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 là không thể tránh khỏi. Cách duy nhất để đạt được độ chính xác chính xác là sử dụng một loại chiều rộng cố định [ví dụ: INT64].
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]9
Từ dấu thời gian đến kỷ nguyên#
Để đảo ngược hoạt động từ trên, cụ thể là chuyển đổi từ
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 sang một kỷ nguyên ‘unix.
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']0
Chúng tôi trừ đi kỷ nguyên [nửa đêm lúc 1 tháng 1 năm 1970 UTC] và sau đó phân chia sàn cho đơn vị trực tuyến [1 giây].
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']1
Sử dụng tham số In [1]: import datetime
In [2]: dti = pd.to_datetime[
...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]]
...: ]
...:
In [3]: dti
Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
63#
Sử dụng tham số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63, người ta có thể chỉ định điểm bắt đầu thay thế để tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Ví dụ: sử dụng 1960-01-01 làm ngày bắt đầu:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']2
Mặc định được đặt tại
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]75, mặc định là
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]76. Thường được gọi là ‘Unix Epoch, hoặc thời gian POSIX.calendar day while the default for
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]83 is a business day:
Tạo ra phạm vi dấu thời gian#
Để tạo một chỉ mục có dấu thời gian, bạn có thể sử dụng hàm tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 hoặc
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]78 và truyền trong danh sách các đối tượng DateTime:frequency aliases:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']4
Trong thực tế, điều này trở nên rất cồng kềnh vì chúng ta thường cần một chỉ số rất dài với một số lượng lớn dấu thời gian. Nếu chúng ta cần dấu thời gian trên tần số thường xuyên, chúng ta có thể sử dụng các hàm
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]79 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]80 để tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Tần suất mặc định cho
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]85 là một ngày lịch trong khi mặc định cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]83 là một ngày làm việc:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']5
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']3
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']6
Các chức năng tiện lợi như try:
df.to_csv[
path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv',
date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False]
except OSError as e:
print["Failed to create the file......."]
raise SystemExit[e]
85 và In [1]: import datetime
In [2]: dti = pd.to_datetime[
...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]]
...: ]
...:
In [3]: dti
Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
83 có thể sử dụng nhiều bí danh tần số:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]85 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]83 giúp dễ dàng tạo ra một phạm vi ngày sử dụng các kết hợp các tham số khác nhau như
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]88,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]89,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]90 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91. Ngày bắt đầu và kết thúc được bao gồm nghiêm ngặt, vì vậy ngày bên ngoài những ngày được chỉ định sẽ không được tạo ra:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']7
Giới hạn dấu thời gian#
Vì gấu trúc đại diện cho dấu thời gian ở độ phân giải nano giây, khoảng thời gian có thể được biểu diễn bằng số nguyên 64 bit bị giới hạn trong khoảng 584 năm:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']8
Indexing#
Một trong những ứng dụng chính cho
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 là một chỉ số cho các đối tượng gấu trúc. Lớp
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 chứa nhiều tối ưu hóa liên quan đến chuỗi thời gian:
Một loạt các ngày cho các độ lệch khác nhau được tính toán sẵn và được lưu trữ dưới mui xe để tạo ra các phạm vi ngày tiếp theo rất nhanh [chỉ cần lấy một lát cắt].
Chuyển nhanh bằng phương pháp
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']
04 trên các đối tượng gấu trúc.Việc kết hợp các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
81 chồng chéo có cùng tần số rất nhanh [quan trọng đối với căn chỉnh dữ liệu nhanh].Truy cập nhanh vào các trường ngày qua các thuộc tính như
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
46,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
47, v.v.Các chức năng chính quy hóa như
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']
08 và logicIn [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']
09 rất nhanh.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 Các đối tượng có tất cả các chức năng cơ bản của các đối tượng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]78 thông thường và một smorgasbord của các phương pháp cụ thể chuỗi thời gian tiên tiến để xử lý tần số dễ dàng.
Ghi chú
Mặc dù gấu trúc không buộc bạn phải có chỉ số ngày được sắp xếp, một số phương pháp này có thể có hành vi bất ngờ hoặc không chính xác nếu ngày không được phân loại.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 có thể được sử dụng như một chỉ mục thông thường và cung cấp tất cả các chức năng thông minh của nó như lựa chọn, cắt lát, v.v.
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']9
Lập chỉ mục chuỗi một phần#
Ngày và chuỗi phân tích thời gian có thể được truyền dưới dạng tham số lập chỉ mục:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']0
Để cung cấp sự tiện lợi cho việc truy cập chuỗi thời gian dài hơn, bạn cũng có thể vượt qua trong năm hoặc năm và tháng dưới dạng chuỗi:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']1
Loại cắt lát này cũng sẽ hoạt động trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Vì lựa chọn chuỗi một phần là một hình thức cắt nhãn, các điểm cuối sẽ được bao gồm. Điều này sẽ bao gồm thời gian phù hợp vào một ngày bao gồm:will be included. This would include matching times on an included date:
Cảnh báo
Lập chỉ mục
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 Các hàng với một chuỗi duy nhất với getItem [ví dụ:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']16] không được khởi động với Pandas 1.2.0 [với sự mơ hồ cho dù nó đang lập chỉ mục các hàng hoặc chọn một cột] và sẽ bị xóa trong phiên bản trong tương lai. Tương đương với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']17 [ví dụ:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']18] vẫn được hỗ trợ.
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']2
Điều này bắt đầu từ lần đầu tiên trong tháng và bao gồm ngày và giờ cuối cùng trong tháng:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']3
Điều này chỉ định thời gian dừng bao gồm tất cả các lần vào ngày cuối cùng:that includes all of the times on the last day:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']4
Điều này chỉ định thời gian dừng chính xác [và không giống như ở trên]:exact stop time [and is not the same as the above]:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']5
Chúng tôi đang dừng lại ở điểm cuối được bao gồm vì nó là một phần của chỉ mục:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']6
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 Lập chỉ mục chuỗi một phần cũng hoạt động trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']21:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']7
Mới trong phiên bản 0.25.0.
Cắt với lập chỉ mục chuỗi cũng tôn vinh UTC Offset.
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']8
Lát so với khớp chính xác#
Cùng một chuỗi được sử dụng làm tham số lập chỉ mục có thể được coi là một lát cắt hoặc là một khớp chính xác tùy thuộc vào độ phân giải của chỉ mục. Nếu chuỗi kém chính xác hơn chỉ số, nó sẽ được coi là một lát cắt, nếu không là một kết hợp chính xác.
Xem xét một đối tượng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 với chỉ số độ phân giải phút:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']9
Một chuỗi dấu thời gian kém chính xác hơn một phút cho đối tượng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float640
Một chuỗi dấu thời gian với độ phân giải phút [hoặc chính xác hơn], thay vào đó là vô hướng, tức là nó không được đúc thành một lát cắt.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float641
Nếu độ phân giải chỉ mục là thứ hai, thì dấu thời gian chính xác phút cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float642
Nếu chuỗi dấu thời gian được coi là một lát cắt, nó cũng có thể được sử dụng để lập chỉ mục
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']26.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float643
Cảnh báo
Lập chỉ mục
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 Các hàng với một chuỗi duy nhất với getItem [ví dụ:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']16] không được khởi động với Pandas 1.2.0 [với sự mơ hồ cho dù nó đang lập chỉ mục các hàng hoặc chọn một cột] và sẽ bị xóa trong phiên bản trong tương lai. Tương đương với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']17 [ví dụ:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']18] vẫn được hỗ trợ.Indexing Basics. For example
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']29 will raise
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']30 as
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']31 has the same resolution as the index and there is no column with such name:
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']2
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float644
Điều này bắt đầu từ lần đầu tiên trong tháng và bao gồm ngày và giờ cuối cùng trong tháng:
Điều này chỉ định thời gian dừng bao gồm tất cả các lần vào ngày cuối cùng:
Điều này chỉ định thời gian dừng chính xác [và không giống như ở trên]:
Chúng tôi đang dừng lại ở điểm cuối được bao gồm vì nó là một phần của chỉ mục:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 Lập chỉ mục chuỗi một phần cũng hoạt động trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']21:
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float646
Mới trong phiên bản 0.25.0.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float647
Cắt với lập chỉ mục chuỗi cũng tôn vinh UTC Offset.
Hàm tiện lợi
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']42 được cung cấp tương tự như cắt. Lưu ý rằng
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']43 giả định giá trị 0 cho bất kỳ thành phần ngày không xác định nào trong một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 trái ngược với việc cắt giảm mà trả về bất kỳ ngày phù hợp một phần nào:
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float648
Ngay cả việc lập chỉ mục ưa thích phức tạp phá vỡ tính đều đặn tần số
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 sẽ dẫn đến
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81, mặc dù tần số bị mất:
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float649
Thành phần thời gian/ngày#
Có một số thuộc tính thời gian/ngày mà người ta có thể truy cập từ
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hoặc một bộ sưu tập dấu thời gian như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81.
năm | Năm của DateTime |
tháng | Tháng của DateTime |
ngày | Những ngày của DateTime |
giờ | Giờ của DateTime |
phút | Biên bản của DateTime |
thứ hai | Những giây của DateTime |
Microsecond | Các micro giây của DateTime |
NanoSecond | Các nano giây của DateTime |
ngày | Returns dateTime.date [không chứa thông tin múi giờ] |
thời gian | Returns dateTime.time [không chứa thông tin thời gian] |
Thời gian biểu | Trả về DateTime. Thời gian như giờ địa phương với thông tin về thời gian |
Dayofyear | Ngày thứ tự trong năm |
day_of_year | Ngày thứ tự trong năm |
Tuần lễ | Tuần thứ tư của năm |
tuần | Tuần thứ tư của năm |
tuần | ngày trong tuần |
day_of_week | ngày trong tuần |
Số lượng ngày trong tuần với Thứ Hai = 0, Chủ nhật = 6 | ngày trong tuần |
Số lượng ngày trong tuần với Thứ Hai = 0, Chủ nhật = 6 | Ngày trong tuần |
days_in_month | phần tư |
is_month_start | Một phần tư ngày: Jan-Mar = 1, Apr-Jun = 2, v.v. |
is_month_end | Số ngày trong tháng của DateTime |
is_quarter_start | Cho biết logic nếu ngày đầu tiên của tháng [được xác định bởi tần số] |
is_quarter_end | Cho biết logic nếu ngày cuối cùng của tháng [được xác định bởi tần số] |
is_year_start | Cho biết logic nếu ngày đầu tiên của quý [được xác định bởi tần số] |
is_year_end | Chỉ định logic nếu ngày cuối cùng của quý [được xác định bởi tần số] |
is_leap_year | Chỉ định logic nếu ngày đầu tiên của năm [được xác định bởi tần số] |
Chỉ định logic nếu ngày cuối cùng của năm [được xác định bởi tần số].dt accessors.
Cho biết logic nếu ngày thuộc về một năm bước nhảy
Hơn nữa, nếu bạn có
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 với các giá trị datetimelike, thì bạn có thể truy cập các thuộc tính này thông qua Trình truy cập
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']50, như được trình bày chi tiết trong phần trên .DT Accessions.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'0
Mới trong phiên bản 1.1.0.
Bạn có thể có được các thành phần năm, tuần và ngày của năm ISO từ tiêu chuẩn ISO 8601:
Đối tượng Date Offerset#
Trong các ví dụ trước, chuỗi tần số [ví dụ:
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']
51] đã được sử dụng để chỉ định tần số được xác định:
Làm thế nào thời gian ngày trong
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 được đặt cách nhau khi sử dụng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]79
Tần số của
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'1
Các chuỗi tần số này ánh xạ tới một đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 và các lớp con của nó. A
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 tương tự như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 đại diện cho một thời gian nhưng tuân theo các quy tắc thời lượng lịch cụ thể. Ví dụ, một ngày
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 sẽ luôn tăng
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']60 sau 24 giờ, trong khi một ngày
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 sẽ tăng lên
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']60 đến cùng thời điểm vào ngày hôm sau cho dù một ngày đại diện cho 23, 24 hoặc 25 giờ do thời gian tiết kiệm ánh sáng ban ngày. Tuy nhiên, tất cả các lớp con
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 là một giờ hoặc nhỏ hơn [
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']64,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']65,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']66,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']67,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']68,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']69] hoạt động như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 và tôn trọng thời gian tuyệt đối.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]96 | Bù ngày | Chuỗi tần số |
Không có | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']79 | Lớp bù chung, mặc định là 24 giờ tuyệt đối |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']77 hoặc In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']78 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']82 | Ngày làm việc [Ngày trong tuần] |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']83 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']84 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']80 hoặc In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']81 |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']85 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']86 | Ngày làm việc tùy chỉnh |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']87 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']88 | Một tuần, tùy chọn neo vào một ngày trong tuần |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']89 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']90 | ngày x của tuần thứ năm của mỗi tháng |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']91 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']92 | ngày x của tuần cuối cùng của mỗi tháng |
Lịch tháng kết thúc | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']95 | Tháng dương bắt đầu |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']93 hoặc In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']94 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']98 | Tháng kinh doanh kết thúc |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']96 hoặc In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']97 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']01 | Tháng làm việc bắt đầu |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']99 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']00 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']04 | Tháng làm việc tùy chỉnh kết thúc |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']05 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']06 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']02 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']03 |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']07 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']08 | Tháng làm việc tùy chỉnh bắt đầu |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']09 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']10 | Lịch kết thúc quý |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']11 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']12 | Quý lịch bắt đầu |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']13 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']14 | kết thúc quý doanh nghiệp |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']15 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']16 | Khu phố kinh doanh bắt đầu |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']17 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']18 | Bán lẻ [AKA 52-53 tuần] quý |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']19 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']20 | Lịch cuối năm kết thúc |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']21 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']22 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']23 | Năm dương lịch bắt đầu |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']24 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']25 | Năm kinh doanh kết thúc |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']26 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']27 | Năm kinh doanh bắt đầu |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']28 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']29 | Bán lẻ [AKA 52-53 tuần] Năm |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']30 | Không có | lễ Phục sinh |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']32 | giờ làm việc |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']33 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']34 | giờ làm việc tùy chỉnh |
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']35 | In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']51 | Một ngày tuyệt đối |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']64 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']38 | một giờ |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']65 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']40 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']41 | một phút |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']66 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']43 | một giây |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']67 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']45 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']46 | Một mili giây |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']68 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']48 hoặc In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']49 | Một micro giây |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']69 | In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']51 | Một nano giây |
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']74 Ngoài ra còn có các phương thức
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']53 và
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']54 để di chuyển một ngày về phía trước hoặc lùi tương ứng sang một ngày bù hợp lệ so với phần bù. Ví dụ, các khoản bù đắp kinh doanh sẽ diễn ra ngày hạ cánh vào cuối tuần [thứ bảy và chủ nhật] chuyển sang thứ Hai kể từ khi các khoản bù đắp kinh doanh hoạt động vào các ngày trong tuần.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'2
Các hoạt động này lưu giữ thông tin thời gian [giờ, phút, v.v.] theo mặc định. Để đặt lại thời gian đến nửa đêm, hãy sử dụng
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']55 trước hoặc sau khi áp dụng thao tác [tùy thuộc vào việc bạn muốn thông tin thời gian có trong hoạt động].
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'3
Tham số offset#
Một số độ lệch có thể được tham số hóa trên mạng khi được tạo ra để dẫn đến các hành vi khác nhau. Ví dụ: độ lệch
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']83 để tạo dữ liệu hàng tuần chấp nhận tham số
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']57 dẫn đến các ngày được tạo luôn nằm vào một ngày cụ thể trong tuần:
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'4
Tùy chọn
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']58 sẽ có hiệu lực để bổ sung và trừ.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'5
Một ví dụ khác là tham số hóa
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']19 với tháng kết thúc cụ thể:
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'6
Sử dụng độ lệch với In [1]: import datetime
In [2]: dti = pd.to_datetime[
...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]]
...: ]
...:
In [3]: dti
Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
00 / ________ 181#
Offsets có thể được sử dụng với
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 để áp dụng phần bù cho mỗi phần tử.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'7
Nếu lớp bù ánh xạ trực tiếp đến
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 [
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']35,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']64,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']65,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']66,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']68,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']67,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']69], nó có thể được sử dụng chính xác như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]86 - xem phần Thời gian để biết thêm.Timedelta section for more examples.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'8
Lưu ý rằng một số độ lệch [chẳng hạn như
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']13] không có việc thực hiện vector hóa. Chúng vẫn có thể được sử dụng nhưng có thể tính toán chậm hơn đáng kể và sẽ hiển thị
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']74
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'9
Ngày làm việc tùy chỉnh#
Lớp
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']80 hoặc
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']81 cung cấp một lớp tham số
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']78 có thể được sử dụng để tạo ra lịch Ngày làm việc tùy chỉnh chiếm các ngày lễ địa phương và các hội nghị cuối tuần địa phương.
Như một ví dụ thú vị, hãy để Lôi nhìn vào Ai Cập nơi quan sát thấy một ngày cuối tuần thứ sáu thứ sáu.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int640
Hãy để bản đồ đến tên ngày trong tuần:
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int641
Lịch ngày lễ có thể được sử dụng để cung cấp danh sách các ngày lễ. Xem phần Lịch ngày lễ để biết thêm thông tin.holiday calendar section for more information.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int642
Các khoản bù vào hàng tháng tôn trọng một lịch kỳ nghỉ nhất định có thể được định nghĩa theo cách thông thường.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int643
Ghi chú
Chuỗi tần số ’C, được sử dụng để chỉ ra rằng ngày Day OfferOffset CustomBusinessDay được sử dụng, điều quan trọng cần lưu ý là vì CustomBusinessDay là loại tham số hóa, các trường hợp của CustomBusinessDay có thể khác nhau và điều này không thể phát hiện được với chuỗi tần số. Do đó, người dùng cần đảm bảo rằng chuỗi tần số ‘C được sử dụng một cách nhất quán trong ứng dụng của người dùng.
Giờ làm việc#
Lớp
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 cung cấp một đại diện giờ làm việc trên
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']78, cho phép sử dụng thời gian bắt đầu và kết thúc cụ thể.
Theo mặc định,
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 sử dụng 9:00 - 17:00 làm giờ làm việc. Thêm
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 sẽ tăng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 theo tần suất hàng giờ. Nếu Target
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hết giờ làm việc, hãy chuyển sang giờ làm việc tiếp theo sau đó tăng lên. Nếu kết quả vượt quá giờ làm việc, giờ còn lại sẽ được thêm vào ngày làm việc tiếp theo.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int644
Bạn cũng có thể chỉ định thời gian
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]88 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]89 theo từ khóa. Đối số phải là một
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']86 với biểu diễn
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']87 hoặc một thể hiện
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']88. Chỉ định giây, micro giây và nano giây là giờ làm việc dẫn đến
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']89.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int645
Vượt qua
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]88 thời gian muộn hơn
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]89 đại diện cho giờ làm việc vào nửa đêm. Trong trường hợp này, giờ làm việc vượt quá nửa đêm và trùng với ngày hôm sau. Giờ làm việc hợp lệ được phân biệt bằng cách bắt đầu từ
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']78 hợp lệ.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int646
Áp dụng
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']93 và
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']94 cho các giờ làm việc kết quả trong giờ làm việc tiếp theo bắt đầu hoặc ngày hôm trước. Khác với các độ lệch khác,
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']93 có thể đưa ra các kết quả khác nhau từ
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']96 theo định nghĩa.
Điều này là do kết thúc giờ làm việc của một ngày bằng cách bắt đầu giờ làm việc vào ngày hôm sau. Ví dụ, theo giờ làm việc mặc định [9:00 - 17:00], không có khoảng cách [0 phút] giữa
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']97 và
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']98.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int647
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 liên quan đến thứ bảy và chủ nhật là ngày lễ. Để sử dụng các ngày lễ tùy ý, bạn có thể sử dụng bù
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']33, như được giải thích trong tiểu mục sau.
Giờ làm việc tùy chỉnh#
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']33 là hỗn hợp của
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 và
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']81 cho phép bạn chỉ định các ngày lễ tùy ý.
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']33 hoạt động giống như
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 ngoại trừ việc nó bỏ qua các ngày lễ tùy chỉnh được chỉ định.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int648
Bạn có thể sử dụng các đối số từ khóa được hỗ trợ bởi
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']31 và
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']81.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int649
Bí danh bù#
Một số bí danh chuỗi được cung cấp cho các tần số chuỗi thời gian chung hữu ích. Chúng tôi sẽ gọi các bí danh này là bí danh bù.
B | Tần suất ngày làm việc |
C | Tần suất ngày làm việc tùy chỉnh |
D | Tần suất ngày lịch |
W | tần suất hàng tuần |
M | Tần suất cuối tháng |
SM | Tần số cuối tháng [thứ 15 và cuối tháng] |
BM | Tần suất cuối tháng kinh doanh |
CBM | Tần suất cuối tháng kinh doanh tùy chỉnh |
CÔ | Tần suất bắt đầu tháng |
tin nhắn | Tần số bắt đầu nửa tháng [1 và 15] |
BMS | Tháng làm việc bắt đầu tần số |
CBMS | Tháng làm việc tùy chỉnh tần số bắt đầu |
Q. | tần số kết thúc quý |
BQ | Tần suất kết thúc quý doanh nghiệp |
QS | tần số bắt đầu quý |
BQS | Tần suất bắt đầu quý doanh nghiệp |
A, y | Tần suất cuối năm |
ĐỨA BÉ | Tần suất cuối năm kinh doanh |
Như, ys | Tần số bắt đầu năm |
BAS, BYS | Tần suất năm kinh doanh bắt đầu |
BH | Tần suất giờ làm việc |
H | tần suất hàng giờ |
T, phút | tần số tối thiểu |
S | tần số thứ hai |
L, MS | mili giây |
U, chúng tôi | micro giây |
N | NanoSeconds |
Ghi chú
Khi sử dụng các bí danh bù ở trên, cần lưu ý rằng các chức năng như
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]79,In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]80, sẽ chỉ trả về các dấu thời gian trong khoảng được xác định bởiIn [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 vàIn [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411. NếuIn [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 không tương ứng với tần số, các dấu thời gian được trả lại sẽ bắt đầu ở dấu thời gian hợp lệ tiếp theo, tương tự đối vớiIn [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411, dấu thời gian được trả lại sẽ dừng ở dấu thời gian hợp lệ trước đó.
Ví dụ, đối với phần bù
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6414, nếu
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 không phải là lần đầu tiên trong tháng, dấu thời gian được trả lại sẽ bắt đầu với ngày đầu tiên của tháng tiếp theo. Nếu
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411 không phải là ngày đầu tiên của một tháng, thời gian cuối cùng được trả lại sẽ là ngày đầu tiên của tháng tương ứng.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]0
Chúng ta có thể thấy trong ví dụ trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]79 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]80 sẽ chỉ trả về các dấu thời gian hợp lệ giữa
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 và
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411. Nếu đây không phải là dấu thời gian hợp lệ cho tần số đã cho, nó sẽ chuyển sang giá trị tiếp theo cho
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 [tương ứng trước đó cho
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411]
Kết hợp bí danh#
Như chúng ta đã thấy trước đây, bí danh và phiên bản bù có thể bị nấm trong hầu hết các chức năng:
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]1
Bạn có thể kết hợp với nhau trong ngày và trong ngày bù đắp:
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]2
Offsets neo#
Đối với một số tần số, bạn có thể chỉ định hậu tố neo:
W-SUN | B |
W-MON | Tần suất ngày làm việc |
W-TUE | C |
W-WED | Tần suất ngày làm việc tùy chỉnh |
W-THU | D |
W-FRI | Tần suất ngày lịch |
W-SAT | W |
[B]Q[S]-DEC | tần suất hàng tuần |
[B]Q[S]-JAN | M |
[B]Q[S]-FEB | Tần suất cuối tháng |
[B]Q[S]-MAR | SM |
[B]Q[S]-APR | Tần số cuối tháng [thứ 15 và cuối tháng] |
[B]Q[S]-MAY | BM |
[B]Q[S]-JUN | Tần suất cuối tháng kinh doanh |
[B]Q[S]-JUL | CBM |
[B]Q[S]-AUG | Tần suất cuối tháng kinh doanh tùy chỉnh |
[B]Q[S]-SEP | CÔ |
[B]Q[S]-OCT | Tần suất bắt đầu tháng |
[B]Q[S]-NOV | tin nhắn |
[B]A[S]-DEC | Tần số bắt đầu nửa tháng [1 và 15] |
[B]A[S]-JAN | BMS |
[B]A[S]-FEB | Tháng làm việc bắt đầu tần số |
[B]A[S]-MAR | CBMS |
[B]A[S]-APR | Tháng làm việc tùy chỉnh tần số bắt đầu |
[B]A[S]-MAY | Q. |
[B]A[S]-JUN | tần số kết thúc quý |
[B]A[S]-JUL | BQ |
[B]A[S]-AUG | Tần suất kết thúc quý doanh nghiệp |
[B]A[S]-SEP | QS |
[B]A[S]-OCT | tần số bắt đầu quý |
[B]A[S]-NOV | BQS |
Tần suất bắt đầu quý doanh nghiệp
Tinh ngữ bù đắp được neo#
Đối với những độ lệch được neo vào đầu hoặc kết thúc tần số cụ thể [
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']89,
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']91,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6428, v.v.], các quy tắc sau áp dụng cho việc lăn về phía trước và lùi.
Khi
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6429 không phải là 0, nếu ngày nhất định không ở điểm neo, nó đã bị gãy đến điểm neo [trước] tiếp theo và di chuyển
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6430 các bước bổ sung về phía trước hoặc ngược.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]3
Nếu ngày đã cho ở điểm neo, nó sẽ được di chuyển
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6431 điểm về phía trước hoặc ngược.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]4
Đối với trường hợp khi
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6432, ngày không được di chuyển nếu trên một điểm neo, nếu không nó sẽ được chuyển về phía điểm neo tiếp theo.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]5
Ngày lễ / Lịch ngày lễ##
Ngày lễ và lịch cung cấp một cách đơn giản để xác định các quy tắc ngày lễ được sử dụng với
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']81 hoặc trong các phân tích khác đòi hỏi một tập hợp các ngày lễ được xác định trước. Lớp
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6434 cung cấp tất cả các phương pháp cần thiết để trả về danh sách các ngày lễ và chỉ
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6435 cần được xác định trong một lớp lịch nghỉ lễ cụ thể. Hơn nữa, các thuộc tính lớp
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 và
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411 xác định trong ngày nghỉ ngày nào được tạo ra. Chúng nên được ghi đè lên lớp
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6434 để có phạm vi áp dụng cho tất cả các lớp con lịch.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6439 là lịch duy nhất tồn tại và chủ yếu đóng vai trò là một ví dụ để phát triển các lịch khác.
Đối với các ngày lễ xảy ra vào ngày cố định [ví dụ: Ngày tưởng niệm Hoa Kỳ hoặc ngày 4 tháng 7], một quy tắc quan sát xác định khi nào kỳ nghỉ đó được quan sát nếu nó rơi vào một ngày cuối tuần hoặc một ngày không quan sát khác. Quy tắc quan sát được xác định là:
nearest_workday | Chuyển Thứ Bảy đến Thứ Sáu và Chủ Nhật sang Thứ Hai |
sunday_to_monday | Chuyển Chủ nhật sang Thứ Hai sau |
next_monday_or_tuesday | Chuyển Thứ Bảy sang Thứ Hai và Chủ Nhật/Thứ Hai đến Thứ Ba |
previous_friday | Chuyển Thứ Bảy và Chủ Nhật sang Thứ Sáu trước đó ” |
next_monday | Chuyển Thứ Bảy và Chủ Nhật sang Thứ Hai sau |
Một ví dụ về cách các ngày lễ và lịch ngày lễ được xác định:
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]6dấu
Ngày trong tuần = mo [2] giống như 2 * tuần [ngày trong tuần = 2] is same as 2 * Week[weekday=2]
Sử dụng lịch này, tạo một chỉ mục hoặc thực hiện số học bỏ qua các ngày cuối tuần và ngày lễ [tức là, Ngày Tưởng niệm/ngày 4 tháng 7]. Ví dụ: bên dưới xác định một ngày làm việc tùy chỉnh bù bằng cách sử dụng
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6440. Giống như bất kỳ phần bù nào khác, nó có thể được sử dụng để tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 hoặc thêm vào các đối tượng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]06 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]7
Phạm vi được xác định bởi các thuộc tính lớp
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6410 và
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6411 của
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6434. Các mặc định được hiển thị bên dưới.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]8
Các ngày này có thể được ghi đè bằng cách đặt các thuộc tính là DateTime/Timestamp/String.
In [20]: pd.Series[pd.date_range["2000", freq="D", periods=3]] Out[20]: 0 2000-01-01 1 2000-01-02 2 2000-01-03 dtype: datetime64[ns]9
Mỗi lớp lịch có thể truy cập bằng tên bằng cách sử dụng hàm
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6447 trả về một thể hiện lớp học. Bất kỳ lớp lịch được nhập sẽ tự động có sẵn bởi chức năng này. Ngoài ra,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6448 cung cấp một giao diện dễ dàng để tạo lịch là sự kết hợp của lịch hoặc lịch với các quy tắc bổ sung.
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]0
Resampling#
Pandas có chức năng đơn giản, mạnh mẽ và hiệu quả để thực hiện các hoạt động lấy mẫu lại trong quá trình chuyển đổi tần số [ví dụ: chuyển đổi dữ liệu thứ hai thành dữ liệu 5 phút]. Điều này là cực kỳ phổ biến trong, nhưng không giới hạn ở các ứng dụng tài chính.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6449 là một nhóm dựa trên thời gian, tiếp theo là phương pháp giảm trên mỗi nhóm của nó. Xem một số ví dụ sách nấu ăn cho một số chiến lược nâng cao.cookbook examples for some advanced strategies.
Phương pháp
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6449 có thể được sử dụng trực tiếp từ các đối tượng
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6451, xem các tài liệu nhóm.groupby docs.
Basics#
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]1
Hàm
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6452 rất linh hoạt và cho phép bạn chỉ định nhiều tham số khác nhau để kiểm soát hoạt động chuyển đổi và lấy mẫu tần số.
Bất kỳ chức năng nào có sẵn thông qua việc gửi đi đều có sẵn dưới dạng phương thức của đối tượng được trả về, bao gồm
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6453,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6454,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6455,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6456,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6457,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6458,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6459,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6460,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6461dispatching is available as a method of the returned object, including
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6453,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6454,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6455,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6456,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6457,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6458,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6459,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6460,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6461,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6462:
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]2
Đối với Downsampling,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6463 có thể được đặt thành ‘trái, hoặc‘ phải để chỉ định kết thúc của khoảng thời gian nào được đóng:
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]3
Các tham số như
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6464 được sử dụng để thao tác các nhãn kết quả.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6464 Chỉ định xem kết quả được dán nhãn với đầu hay kết thúc của khoảng thời gian.
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]4
Cảnh báo
Các giá trị mặc định cho
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6464 và
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6463 là 'còn lại' cho tất cả các độ lệch tần số ngoại trừ 'm', 'a', 'q', 'bm', 'ba', 'bq' và 'w' mà tất cả đều có mặc định quyền'.left’ for all frequency offsets except for ‘M’, ‘A’, ‘Q’, ‘BM’, ‘BA’, ‘BQ’, and ‘W’ which all have a default of ‘right’.
Điều này có thể dẫn đến việc nhìn về phía trước, trong đó giá trị cho một thời gian sau được kéo trở lại thời gian trước đó như trong ví dụ sau với tần số
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']78:
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]5
Lưu ý cách giá trị cho Chủ nhật đã được kéo trở lại vào thứ Sáu trước đó. Để có được hành vi mà giá trị cho Chủ nhật được đẩy sang thứ Hai, hãy sử dụng thay thế
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]6
Tham số
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6469 có thể được đặt thành 0 hoặc 1 và cho phép bạn lấy mẫu lại trục được chỉ định cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6471 có thể được đặt thành ‘dấu thời gian hoặc‘ giai đoạn để chuyển đổi chỉ số kết quả thành/từ dấu thời gian và biểu diễn khoảng thời gian. Theo mặc định
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6452 giữ lại biểu diễn đầu vào.
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6473 có thể được đặt thành ’bắt đầu hoặc’ kết thúc khi lấy mẫu lại dữ liệu thời gian [chi tiết bên dưới]. Nó chỉ định mức độ thời gian tần số thấp được chuyển đổi thành khoảng thời gian tần số cao hơn.
Upsampling#
Đối với UPSampling, bạn có thể chỉ định một cách để lấy mẫu và tham số
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6474 để nội suy qua các khoảng trống được tạo:
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]7
Sắp xếp lại thưa thớt#
Thời gian thưa thớt là những thứ mà bạn có ít điểm hơn so với lượng thời gian bạn đang tìm cách lấy mẫu lại. Nguyên nhân UPSAPPLING một loạt thưa thớt có thể tạo ra nhiều giá trị trung gian. Khi bạn không muốn sử dụng một phương thức để điền vào các giá trị này, ví dụ:
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6475 là
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]97, sau đó các giá trị trung gian sẽ được lấp đầy bằng
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6477.
Vì
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6452 là một nhóm dựa trên thời gian, sau đây là phương pháp để lấy mẫu hiệu quả chỉ các nhóm không phải là tất cả
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6477.
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]8
Nếu chúng ta muốn lấy mẫu lại thành toàn bộ loạt phim:
In [21]: pd.Series[pd.period_range["1/1/2011", freq="M", periods=3]] Out[21]: 0 2011-01 1 2011-02 2 2011-03 dtype: period[M] In [22]: pd.Series[[pd.DateOffset[1], pd.DateOffset[2]]] Out[22]: 0 1 dtype: object In [23]: pd.Series[pd.date_range["1/1/2011", freq="M", periods=3]] Out[23]: 0 2011-01-31 1 2011-02-28 2 2011-03-31 dtype: datetime64[ns]9
Thay vào đó, chúng tôi chỉ có thể lấy mẫu lại các nhóm nơi chúng tôi có điểm như sau:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]00
Aggregation#
Tương tự như API tổng hợp, API GroupBy và API cửa sổ,
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6480 có thể được lấy lại có chọn lọc.aggregating API, groupby API, and the window API, a
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6480 can be selectively resampled.
Đặt lại một
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01, mặc định sẽ là hành động trên tất cả các cột có cùng chức năng.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]01
Chúng tôi có thể chọn một cột hoặc cột cụ thể bằng cách sử dụng GetItem Standard.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]02
Bạn có thể vượt qua danh sách hoặc bắt buộc các chức năng để thực hiện tổng hợp với, xuất ra
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]03
Trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 được lấy lại, bạn có thể chuyển danh sách các chức năng để áp dụng cho mỗi cột, tạo ra kết quả tổng hợp với chỉ số phân cấp:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]04
Bằng cách chuyển một dict cho
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6484, bạn có thể áp dụng một tập hợp khác cho các cột của
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]05
Tên chức năng cũng có thể là chuỗi. Để một chuỗi có hiệu lực, nó phải được thực hiện trên đối tượng được ghép lại:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]06
Hơn nữa, bạn cũng có thể chỉ định nhiều hàm tập hợp cho từng cột một cách riêng biệt.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]07
Nếu một
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 không có chỉ mục datetimelike, mà thay vào đó bạn muốn lấy mẫu lại dựa trên cột datetimelike trong khung, nó có thể được chuyển đến từ khóa
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6487.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]08
Tương tự, nếu thay vào đó bạn muốn lấy mẫu lại theo mức dữ liệu giống như
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']21, tên hoặc vị trí của nó có thể được chuyển đến từ khóa
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6489.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]09
Lặp lại thông qua các nhóm#
Với đối tượng
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6480 trong tay, việc lặp lại thông qua dữ liệu được nhóm lại rất tự nhiên và các chức năng tương tự như
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6491:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]10
Xem lặp qua các nhóm hoặc
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6492 để biết thêm.Iterating through groups or
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6492 for more.
Sử dụng In [1]: import datetime
In [2]: dti = pd.to_datetime[
...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]]
...: ]
...:
In [3]: dti
Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
63 hoặc In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"]
In [10]: ts = pd.Series[range[len[idx]], index=idx]
In [11]: ts
Out[11]:
2018-01-01 00:00:00 0
2018-01-01 01:00:00 1
2018-01-01 02:00:00 2
2018-01-01 03:00:00 3
2018-01-01 04:00:00 4
Freq: H, dtype: int64
In [12]: ts.resample["2H"].mean[]
Out[12]:
2018-01-01 00:00:00 0.5
2018-01-01 02:00:00 2.5
2018-01-01 04:00:00 4.0
Freq: 2H, dtype: float64
94 để điều chỉnh phần bắt đầu của các thùng#
Mới trong phiên bản 1.1.0.
Các thùng của nhóm được điều chỉnh dựa trên đầu ngày của điểm bắt đầu chuỗi thời gian. Điều này hoạt động tốt với các tần số là bội số của một ngày [như
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6495] hoặc chia đều một ngày [như
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6496 hoặc
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6497]. Điều này có thể tạo ra sự không nhất quán với một số tần số không đáp ứng tiêu chí này. Để thay đổi hành vi này, bạn có thể chỉ định dấu thời gian cố định với đối số
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63.
Ví dụ:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]11
Ở đây chúng ta có thể thấy rằng, khi sử dụng
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63 với giá trị mặc định của nó [
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'00], kết quả sau
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'01 không giống nhau tùy thuộc vào chuỗi thời gian bắt đầu:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]12
Ở đây chúng ta có thể thấy rằng, khi cài đặt
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63 thành
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'03, kết quả sau
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'01 giống hệt nhau tùy thuộc vào chuỗi thời gian bắt đầu:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]13
Nếu cần, bạn có thể sử dụng dấu thời gian tùy chỉnh cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]14
Nếu cần, bạn chỉ có thể điều chỉnh các thùng với
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6494 timedelta sẽ được thêm vào mặc định
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63. Hai ví dụ đó tương đương với chuỗi thời gian này:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]15
Lưu ý việc sử dụng
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'08 cho
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63 trên ví dụ cuối cùng. Trong trường hợp đó,
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63 sẽ được đặt thành giá trị đầu tiên của thời gian.
Lấy lại mẫu lại#
Mới trong phiên bản 1.3.0.
Thay vì điều chỉnh phần đầu của thùng, đôi khi chúng ta cần sửa chữa phần cuối của các thùng để tạo mẫu lại ngược với
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 đã cho. Các mẫu lại đã đặt lại
In [9]: idx = pd.date_range["2018-01-01", periods=5, freq="H"] In [10]: ts = pd.Series[range[len[idx]], index=idx] In [11]: ts Out[11]: 2018-01-01 00:00:00 0 2018-01-01 01:00:00 1 2018-01-01 02:00:00 2 2018-01-01 03:00:00 3 2018-01-01 04:00:00 4 Freq: H, dtype: int64 In [12]: ts.resample["2H"].mean[] Out[12]: 2018-01-01 00:00:00 0.5 2018-01-01 02:00:00 2.5 2018-01-01 04:00:00 4.0 Freq: 2H, dtype: float6463 thành
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'13 theo mặc định vì giá trị cuối cùng nên được coi là điểm cạnh cho thùng cuối cùng.
Chúng ta có thể đặt
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]63 thành
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'15. Giá trị cho một chỉ số
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 cụ thể là viết tắt của kết quả lấy mẫu từ
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hiện tại
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 đối với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hiện tại với mức đóng bên phải.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]16
Ngoài ra, trái ngược với tùy chọn
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'00,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'21 được hỗ trợ. Điều này sẽ đặt nguồn gốc là trần nửa đêm của
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 lớn nhất.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]17
Kết quả trên sử dụng
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'23 làm cạnh phải của thùng cuối cùng kể từ khi tính toán sau.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]18
Đại diện khoảng thời gian#
Các khoảng thời gian thường xuyên được biểu thị bằng các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 trong gấu trúc trong khi các chuỗi của các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 được thu thập trong một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92, có thể được tạo bằng hàm tiện lợi
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]95.
Period#
Một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 đại diện cho một khoảng thời gian [ví dụ: một ngày, một tháng, một phần tư, v.v.]. Bạn có thể chỉ định nhịp qua từ khóa
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 bằng bí danh tần số như bên dưới. Bởi vì
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 đại diện cho một khoảng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91, nó không thể âm như từ -3D.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]19
Thêm và trừ các số nguyên từ các giai đoạn chuyển thời gian theo tần số của chính nó. Số học không được phép giữa
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 với
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 khác nhau [nhịp].
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]20
Nếu
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 FREQ hàng ngày hoặc cao hơn [
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'35,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'36,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'37,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'38,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'39,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'40,
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'41],
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'42 và ________ 207 có thể được thêm vào nếu kết quả có thể tự do. Nếu không,
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']89 sẽ được nâng lên.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]21
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]22
Nếu
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 có các tần số khác, chỉ có thể thêm cùng một
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'42. Nếu không,
In [6]: dti = dti.tz_localize["UTC"] In [7]: dti Out[7]: DatetimeIndex[['2018-01-01 00:00:00+00:00', '2018-01-01 01:00:00+00:00', '2018-01-01 02:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H'] In [8]: dti.tz_convert["US/Pacific"] Out[8]: DatetimeIndex[['2017-12-31 16:00:00-08:00', '2017-12-31 17:00:00-08:00', '2017-12-31 18:00:00-08:00'], dtype='datetime64[ns, US/Pacific]', freq='H']89 sẽ được nâng lên.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]23
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]24
Lấy sự khác biệt của các trường hợp
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 với cùng tần số sẽ trả về số lượng đơn vị tần số giữa chúng:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]25
Thời kỳ InderIndex và Stent_Range#
Các chuỗi thông thường của các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 có thể được thu thập trong một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92, có thể được xây dựng bằng cách sử dụng hàm tiện lợi
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]95:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]26
Trình xây dựng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 cũng có thể được sử dụng trực tiếp:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]27
Vượt qua đầu ra tần số nhân một chuỗi
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 có nhịp nhân.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]28
Nếu
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]88 hoặc
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]89 là các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91, chúng sẽ được sử dụng làm điểm cuối neo cho
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 với tần số khớp với hàm tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]29
Giống như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81,
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 cũng có thể được sử dụng để lập chỉ mục các đối tượng gấu trúc:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]30
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 hỗ trợ bổ sung và trừ với cùng quy tắc với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]31
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 có DTYPE của riêng mình có tên
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'64, tham khảo DTYPE của giai đoạn.Period Dtypes.
Thời kỳ dtypes#
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 có tùy chỉnh
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'64 DTYPE. Đây là một DTYPE mở rộng gandas tương tự như thời gian nhận biết DTYPE [
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]83].timezone aware dtype [
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]83].
DTYPE
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'64 giữ thuộc tính
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 và được biểu thị bằng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]93 như
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'71 hoặc
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'72, sử dụng chuỗi tần số.frequency strings.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]32
DTYPE
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'64 có thể được sử dụng trong
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'74. Nó cho phép người ta thay đổi
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]91 của
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 như
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'77 và chuyển đổi
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 thành
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 như
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'80:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]33
Chỉ mục một phần chuỗi định kỳ#
Thời kỳ InterIndex hiện hỗ trợ cắt chuỗi một phần với các chỉ mục không đơn điệu.
Mới trong phiên bản 1.1.0.
Bạn có thể chuyển từng ngày và chuỗi đến
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 và
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]01 với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92, theo cách tương tự như
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Để biết chi tiết, hãy tham khảo Lập chỉ mục chuỗi một phần của DatetimeIndex.DatetimeIndex Partial String Indexing.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]34
Vượt qua một chuỗi đại diện cho tần số thấp hơn
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 trả về dữ liệu cắt một phần.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]35
Như với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81, các điểm cuối sẽ được đưa vào kết quả. Ví dụ dưới đây, dữ liệu lát bắt đầu từ 10:00 đến 11:59.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]36
Chuyển đổi tần số và lấy mẫu lại với chu kỳ#
Tần số của
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]91 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 có thể được chuyển đổi thông qua phương pháp
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'89. Hãy bắt đầu với năm tài chính 2011, kết thúc vào tháng 12:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]37
Chúng ta có thể chuyển đổi nó thành tần suất hàng tháng. Sử dụng tham số
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'90, chúng tôi có thể chỉ định nên trả về tháng bắt đầu hay kết thúc:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]38
Người viết tắt của S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S S và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]39
Chuyển đổi thành một siêu kỳ của người Viking [ví dụ: tần số hàng năm là siêu tần số hàng quý] tự động trả về siêu giai đoạn bao gồm thời gian đầu vào:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]40
Lưu ý rằng vì chúng tôi đã chuyển đổi thành tần số hàng năm kết thúc năm vào tháng 11, thời gian hàng tháng của tháng 12 năm 2011 thực sự là trong giai đoạn A-NOV 2012.
Chuyển đổi thời gian với tần số neo đặc biệt hữu ích để làm việc với các dữ liệu hàng quý khác nhau cho kinh tế, kinh doanh và các lĩnh vực khác. Nhiều tổ chức xác định các quý so với tháng mà năm tài chính của họ bắt đầu và kết thúc. Do đó, quý đầu tiên của năm 2011 có thể bắt đầu vào năm 2010 hoặc một vài tháng vào năm 2011. Thông qua các tần số neo, gấu trúc hoạt động cho tất cả các tần số hàng quý
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'91 đến
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'92.
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'92 Xác định các quý lịch thường xuyên:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]41
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'94 Xác định kết thúc năm tài chính vào tháng 3:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]42
Chuyển đổi giữa các đại diện#
Dữ liệu có thời gian có thể được chuyển đổi thành dữ liệu định kỳ-ed bằng cách sử dụng
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'95 và ngược lại bằng cách sử dụng
In [13]: friday = pd.Timestamp["2018-01-05"] In [14]: friday.day_name[] Out[14]: 'Friday' # Add 1 day In [15]: saturday = friday + pd.Timedelta["1 day"] In [16]: saturday.day_name[] Out[16]: 'Saturday' # Add 1 business day [Friday --> Monday] In [17]: monday = friday + pd.offsets.BDay[] In [18]: monday.day_name[] Out[18]: 'Monday'96:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]43
Hãy nhớ rằng có thể được sử dụng rằng ‘S và và E E, có thể được sử dụng để trả lại dấu thời gian khi bắt đầu hoặc kết thúc giai đoạn:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]44
Chuyển đổi giữa giai đoạn và dấu thời gian cho phép sử dụng một số chức năng số học thuận tiện. Trong ví dụ sau, chúng tôi chuyển đổi tần số hàng quý với năm kết thúc vào tháng 11 đến 9 giờ tối cuối tháng sau khi kết thúc quý:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]45
Đại diện cho các khoảng cách ngoài giới hạn#
Nếu bạn có dữ liệu nằm ngoài giới hạn
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80, hãy xem các hạn chế về dấu thời gian, thì bạn có thể sử dụng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 và/hoặc
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 của
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6400 để thực hiện tính toán.Timestamp limitations, then you can use a
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92 and/or
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 of
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6400 to do computations.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]46
Để chuyển đổi từ biểu diễn yyyymmdd dựa trên ____701.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]47
Chúng có thể dễ dàng được chuyển đổi thành
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]92:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]48
Xử lý múi giờ#
Pandas cung cấp hỗ trợ phong phú cho việc làm việc với dấu thời gian trong các múi giờ khác nhau bằng các thư viện
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 hoặc các đối tượng
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6405 từ thư viện tiêu chuẩn.
Làm việc với múi giờ#
Theo mặc định, các đối tượng gấu trúc là múi giờ không biết:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]49
Để bản địa hóa các ngày này vào múi giờ [gán một múi giờ cụ thể cho một ngày ngây thơ], bạn có thể sử dụng phương thức
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6406 hoặc đối số từ khóa
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]69 trong
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]79,
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81. Bạn có thể vượt qua
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 hoặc
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 Các đối tượng múi giờ hoặc chuỗi cơ sở dữ liệu múi giờ Olson. Các chuỗi múi giờ Olson sẽ trả về các đối tượng múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 theo mặc định. Để trả về
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 Các đối tượng múi giờ, hãy nối lại
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6415 trước chuỗi.
Trong
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
03, bạn có thể tìm thấy một danh sách các múi giờ phổ biến [và ít phổ biến] bằng cách sử dụngIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
17.try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]
79 sử dụng các múi giờ HĐH để có một danh sách cố định có sẵn. Đối với các khu vực chung, các tên giống nhưIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
03.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]50
Mới trong phiên bản 0.25.0.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]51
Lưu ý rằng múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6420 là một trường hợp đặc biệt trong
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 và nên được xây dựng rõ ràng như là một ví dụ của
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6422. Bạn cũng có thể xây dựng các đối tượng thời gian khác một cách rõ ràng trước tiên.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]52
Để chuyển đổi đối tượng gấu trúc nhận biết múi giờ từ múi giờ này sang múi giờ khác, bạn có thể sử dụng phương thức
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6423.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]53
Ghi chú
Khi sử dụng các múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403,
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 sẽ xây dựng một đối tượng múi giờ khác với
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 cho cùng một đầu vào múi giờ. Một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]81 có thể chứa một bộ sưu tập các đối tượng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 có thể có các phạm vi UTC khác nhau và không thể được biểu diễn ngắn gọn bằng một phiên bản múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 trong khi một
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 thể hiện một thời điểm với độ lệch UTC cụ thể.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]54
Cảnh báo
Hãy cảnh giác với các chuyển đổi giữa các thư viện. Trong một số múi giờ,
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 có các định nghĩa khác nhau về khu vực. Đây là một vấn đề đối với các múi giờ bất thường hơn là các khu vực tiêu chuẩn, như
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6433.
Cảnh báo
Hãy cảnh giác với các chuyển đổi giữa các thư viện. Trong một số múi giờ,
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 có các định nghĩa khác nhau về khu vực. Đây là một vấn đề đối với các múi giờ bất thường hơn là các khu vực tiêu chuẩn, như
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6433.here for how to handle such a situation.
Cảnh báo
Hãy cảnh giác với các chuyển đổi giữa các thư viện. Trong một số múi giờ,
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 có các định nghĩa khác nhau về khu vực. Đây là một vấn đề đối với các múi giờ bất thường hơn là các khu vực tiêu chuẩn, như
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6433.
Cảnh báo
Hãy cảnh giác với các chuyển đổi giữa các thư viện. Trong một số múi giờ,
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 có các định nghĩa khác nhau về khu vực. Đây là một vấn đề đối với các múi giờ bất thường hơn là các khu vực tiêu chuẩn, như
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6433.
Cảnh báo
Hãy cảnh giác với các chuyển đổi giữa các thư viện. Trong một số múi giờ,
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 và
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 có các định nghĩa khác nhau về khu vực. Đây là một vấn đề đối với các múi giờ bất thường hơn là các khu vực tiêu chuẩn, như
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6433.
Xin lưu ý rằng một định nghĩa múi giờ trên các phiên bản của các thư viện múi giờ có thể không được coi là bằng nhau. Điều này có thể gây ra vấn đề khi làm việc với dữ liệu được lưu trữ được bản địa hóa bằng một phiên bản và hoạt động với một phiên bản khác. Xem ở đây để biết cách xử lý một tình huống như vậy.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]55
Đối với các múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403, việc truyền trực tiếp một đối tượng múi giờ là không chính xác vào hàm tạo
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]76 [ví dụ:
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6436. Thay vào đó, DateTime cần được định vị bằng phương thức
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6437 trên đối tượng múi giờ
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]56
Xin lưu ý rằng đối với thời gian trong tương lai, việc chuyển đổi chính xác giữa các múi giờ [và UTC] không thể được đảm bảo bởi bất kỳ thư viện múi giờ nào vì một thời gian bù múi giờ có thể được thay đổi bởi chính phủ tương ứng.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]57
Để xóa thông tin múi giờ, hãy sử dụng
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6443 hoặc
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6444.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6443 sẽ loại bỏ múi giờ mang lại biểu diễn thời gian địa phương.
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6444 sẽ loại bỏ múi giờ sau khi chuyển đổi thành thời gian UTC.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]58
Fold#
Mới trong phiên bản 1.1.0.
Đối với thời gian mơ hồ, gấu trúc hỗ trợ chỉ định rõ ràng đối số gấp từ khóa. Do thời gian tiết kiệm ánh sáng ban ngày, thời gian đồng hồ tường có thể xảy ra hai lần khi chuyển từ mùa hè sang mùa đông; Fold mô tả liệu giống như DateTime tương ứng với lần đầu tiên [0] hay lần thứ hai [1] đồng hồ treo tường chạm vào thời gian mơ hồ. Fold chỉ được hỗ trợ để xây dựng từ ngây thơ
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]76 [xem tài liệu DateTime để biết chi tiết] hoặc từ
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]80 hoặc để xây dựng từ các thành phần [xem bên dưới]. Chỉ hỗ trợ thời gian
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 [xem tài liệu DateUtil cho các phương thức
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]79 liên quan đến các dữ liệu mơ hồ] vì thời gian ____703 không hỗ trợ gấp [xem tài liệu PYTZ để biết chi tiết về cách
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403 liên quan đến các dữ liệu mơ hồ]. Để bản địa hóa một dữ liệu mơ hồ với
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6403, vui lòng sử dụng
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6454. Nói chung, chúng tôi khuyên bạn nên dựa vào
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6454 khi bản địa hóa các dữ liệu mơ hồ nếu bạn cần kiểm soát trực tiếp cách xử lý chúng.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]59
Thời gian mơ hồ khi nội địa hóa#
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6406 có thể không thể xác định được phần bù UTC của dấu thời gian vì thời gian tiết kiệm ánh sáng ban ngày [DST] trong múi giờ địa phương gây ra một số lần xảy ra hai lần trong vòng một ngày [đồng hồ rơi trở lại]. Lựa chọn tiếp theo đã khả thi:
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
57: tăngIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
58 [hành vi mặc định]In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
59: Cố gắng xác định cơ sở bù chính xác về tính đơn điệu của dấu thời gianIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
60: Thay thế thời gian mơ hồ bằngIn [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
11In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
62:In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
63 đại diện cho thời gian DST,In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
64 đại diện cho thời gian không phải DST. Một mảng giống như các giá trịIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
62 được hỗ trợ cho một chuỗi thời gian.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]60
Điều này sẽ thất bại vì có những thời điểm mơ hồ [
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6466]
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]61
Xử lý những thời gian mơ hồ này bằng cách chỉ định như sau.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]62
Thời gian không tồn tại khi bản địa hóa#
Một quá trình chuyển đổi DST cũng có thể thay đổi thời gian địa phương trước 1 giờ tạo ra thời gian địa phương không tồn tại [đồng hồ mùa xuân chuyển tiếp]. Hành vi của việc bản địa hóa một thời gian có thời gian không tồn tại có thể được kiểm soát bằng đối số
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6467. Lựa chọn tiếp theo đã khả thi:
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
57: tăngIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
69 [hành vi mặc định]In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
60: Thay thế thời gian không tồn tại bằngIn [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]
11In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
72: Chuyển thời gian không tồn tại đến thời gian thực gần nhấtIn [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int64
73: Chuyển số thời gian không tồn tại ngược đến thời gian thực gần nhấtĐối tượng Timedelta: Thay đổi thời gian không tồn tại theo thời gian thời gian
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]63
Nội địa hóa thời gian không tồn tại sẽ gây ra lỗi theo mặc định.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]64
Biến đổi thời gian không tồn tại thành
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]11 hoặc chuyển thời gian.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]65
Hoạt động chuỗi múi giờ#
A
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 với các giá trị ngây thơ múi giờ được biểu thị bằng DTYPE là
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]82.naive values is represented with a dtype of
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]82.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]66
A
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 với các giá trị nhận biết múi giờ được biểu thị bằng DTYPE là
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]83 trong đó
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]69 là múi giờaware values is represented with a dtype of
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]83 where
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]69 is the time zone
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]67
Cả hai thông tin múi giờ
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00 này đều có thể được thao tác thông qua bộ truy cập
In [4]: dti = pd.date_range["2018-01-01", periods=3, freq="H"] In [5]: dti Out[5]: DatetimeIndex[['2018-01-01 00:00:00', '2018-01-01 01:00:00', '2018-01-01 02:00:00'], dtype='datetime64[ns]', freq='H']50, xem phần excessor DT.the dt accessor section.
Ví dụ, để bản địa hóa và chuyển đổi một con tem ngây thơ sang múi giờ nhận thức.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]68
Thông tin múi giờ cũng có thể được thao tác bằng phương pháp
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6482. Phương pháp này có thể chuyển đổi giữa các dtypes nhận biết múi giờ khác nhau.
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]69
Ghi chú
Sử dụng
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6483 trên
In [1]: import datetime In [2]: dti = pd.to_datetime[ ...: ["1/1/2018", np.datetime64["2018-01-01"], datetime.datetime[2018, 1, 1]] ...: ] ...: In [3]: dti Out[3]: DatetimeIndex[['2018-01-01', '2018-01-01', '2018-01-01'], dtype='datetime64[ns]', freq=None]00, trả về một mảng dữ liệu. Numpy hiện không hỗ trợ các múi giờ [mặc dù nó đang in trong múi giờ địa phương!], Do đó
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]70
Bằng cách chuyển đổi thành một mảng đối tượng của dấu thời gian, nó bảo tồn thông tin múi giờ. Ví dụ: khi chuyển đổi trở lại một loạt:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]71
Tuy nhiên, nếu bạn muốn một mảng
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]82 thực tế [với các giá trị được chuyển đổi thành UTC] thay vì một mảng các đối tượng, bạn có thể chỉ định đối số
In [19]: pd.Series[range[3], index=pd.date_range["2000", freq="D", periods=3]] Out[19]: 2000-01-01 0 2000-01-02 1 2000-01-03 2 Freq: D, dtype: int6486:
try: df.to_csv[ path_to_csv + f'\{file_name}_{now.strftime["%Y-%m-%d"]}_to_{now.strftime["%H.%M"]}.csv', date_format='%Y-%m-%d %H:%M:%S', encoding='utf-8', index=False] except OSError as e: print["Failed to create the file......."] raise SystemExit[e]72