Đối với ngày trong phạm vi Python

Chúng tôi đã tạo một Khung dữ liệu và tạo một cột thời gian với 100000 mục nhập bắt đầu từ một ngày cố định và khác nhau theo giờ. Chúng tôi đã đặt tính năng đó làm chỉ mục.

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
0

Bước 3 - Tạo chuỗi thời gian

Chúng tôi đã chọn tất cả các mục từ "2021-1-1 01. 00. 00" và "2021-1-1 07. 00. 00" theo chức năng định vị.

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
1 Vì vậy, đầu ra là

Chúng tôi sẽ giới thiệu một số phương pháp để tạo danh sách một loạt các ngày. Một cách để làm như vậy là sử dụng thư viện

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
2. Pandas có hỗ trợ trực tiếp để đạt được nhiệm vụ. Một cách khác là thiết kế logic của riêng bạn theo cách thủ công bằng cách sử dụng vòng lặp for để tạo ngày tháng

Chúng ta sẽ xem xét một số ví dụ như tạo danh sách phạm vi ngày theo ngày bắt đầu nhập và k ngày sau đó hoặc chúng ta có thể nhập ngày bắt đầu và ngày kết thúc

Sử dụng Pandas để tạo danh sách phạm vi ngày trong Python

Chúng ta sẽ sử dụng hàm

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
3 của pandas trong đó chúng ta sẽ chuyển ngày bắt đầu và số ngày sau đó [được gọi là khoảng thời gian]. Ở đây chúng tôi cũng đã sử dụng thư viện
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
4 để định dạng ngày để chúng tôi có thể xuất ngày ở định dạng này
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
5. Chúng tôi cũng có thể xác định dấu thời gian cùng với ngày

Mã Ví dụ

Trong ví dụ này, chúng tôi đang chuyển ngày bắt đầu ở định dạng

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
5 và dấu chấm. Vì vậy, ở đầu ra, chúng ta có thể thấy danh sách phạm vi ngày bắt đầu từ ngày bắt đầu và số
Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
1 sau đó

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]

đầu ra

Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']

Bây giờ chúng ta sẽ xem xét một ví dụ khác trong đó chúng ta sẽ vượt qua

Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
2 và
Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
3. Chương trình sẽ xuất phạm vi ngày giữa hai ngày này

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
end = datetime.datetime.strptime["07-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, end]
print date_generated.strftime["%d-%m-%Y"]

đầu ra

Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
       '06-12-2021', '07-12-2021'],
      dtype='object']

Với sự trợ giúp của vòng lặp for và

Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
4, chúng ta có thể tạo danh sách theo cách thủ công.
Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
4 là một hàm được định nghĩa trong thư viện
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
4. Ở đây delta có nghĩa là sự khác biệt. Với sự trợ giúp của nó, chúng ta có thể cộng hoặc trừ delta với một ngày để có được ngày tiếp theo hoặc ngày trước đó, tương ứng. Giả sử chúng ta có một ngày 01-12-2021. Bây giờ, nếu chúng ta thêm 1 vào nó, ngày của chúng ta sẽ là 02-12-2021. Chúng ta sẽ sử dụng logic đó trong vòng lặp for. Vòng lặp for được lặp lại và chúng tôi sẽ thêm biến có ngày bắt đầu để có ngày tiếp theo, sau đó chúng tôi nối ngày được tạo hiện tại vào danh sách của mình cho đến khi chúng tôi nhận được phạm vi ngày hoàn chỉnh

Bắt đầu nội dung chính

Tạo danh sách các ngày giữa

# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
8 [bao gồm] và
# python 3.x
import datetime
import pandas as pd
start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
date_generated = pd.date_range[start, periods=5]
print[date_generated.strftime["%d-%m-%Y"]]
9 [không bao gồm]

  • Sử dụng
    Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
    
    0 để có được những ngày giữa
    # python 3.x
    import datetime
    import pandas as pd
    start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
    date_generated = pd.date_range[start, periods=5]
    print[date_generated.strftime["%d-%m-%Y"]]
    
    8 và
    # python 3.x
    import datetime
    import pandas as pd
    start = datetime.datetime.strptime["01-12-2021", "%d-%m-%Y"]
    date_generated = pd.date_range[start, periods=5]
    print[date_generated.strftime["%d-%m-%Y"]]
    
    9
  • Sử dụng
    Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
    
    3 để chuyển đổi kết quả thành số nguyên và
    Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
    
    4 để lặp lại mỗi ngày
  • Sử dụng khả năng hiểu danh sách và
    Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
    
    5 để tạo danh sách các đối tượng
    Index[['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object']
    
    6

from datetime import timedelta, date

def daterange[start, end]:
  return [start + timedelta[n] for n in range[int[[end - start].days]]]

Đoạn trích được đề xuất

  • Tính chênh lệch tháng giữa hai ngày

  • Tính chênh lệch ngày giữa hai ngày

  • Kiểm tra xem ngày đã cho có phải là ngày cuối tuần không

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trình chỉnh sửa mã Python

Đóng góp mã và nhận xét của bạn thông qua Disqus

Trước. Viết chương trình Python để chuyển đổi một chuỗi thành ngày giờ.
Tiếp theo. Viết chương trình Python để tạo dấu thời gian RFC 3339.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



con trăn. Lời khuyên trong ngày

N lớn nhất & N nhỏ nhất

Đôi khi các hàm tối đa và tối thiểu có thể không cắt được cho bạn khi bạn cần nhiều giá trị tối đa hoặc nhiều giá trị tối thiểu từ một tập hợp giá trị

Kiểm tra thư viện heapq giúp nhận n giá trị lớn nhất hoặc n giá trị nhỏ nhất dễ dàng hơn nhiều so với các kỹ thuật thông thường

Làm cách nào để lặp qua phạm vi ngày trong Python?

Sử dụng pandas để lặp qua một loạt các ngày . Nó được sử dụng để trả về một Datetime Index tần số cố định. use the date_range[] function method that is available in pandas. It is used to return a fixed frequency DatetimeIndex.

Làm cách nào để kiểm tra phạm vi ngày giờ trong Python?

Đây là mã. .
nhập ngày giờ
def time_in_range[bắt đầu, kết thúc, hiện tại]
"""Trả về xem hiện tại có nằm trong phạm vi [bắt đầu, kết thúc]"""
trở lại bắt đầu

Chủ Đề