Làm cách nào để chuyển đổi chuỗi ngày giờ thành ngày trong Python?

Hàm này chuyển đổi một đối tượng vô hướng, dạng mảng,  hoặc /dict-like thành một đối tượng datetime pandas. Hàm chấp nhận một đối tượng có thể lặp lại [chẳng hạn như danh sách Python, bộ, Sê-ri hoặc chỉ mục], chuyển đổi các giá trị của nó thành datetimes và trả về các giá trị mới trong DatetimeIndex

cú pháp

pandas.to_datetime[ dayfirst=False, yearfirst=False, utc=None, format=None]

Thông số

  • dayfirst - Đó là một giá trị boolean, đại diện cho đúng hoặc sai, sẽ nhận được ngày đầu tiên khi nó đúng.
  • yearfirst  - Đó là một giá trị boolean, đại diện cho true hoặc false, sẽ nhận được năm đầu tiên khi nó đúng.
  • utc - Nó được sử dụng để lấy UTC dựa trên thời gian được cung cấp
  • - Định dạng này được sử dụng để định dạng chuỗi theo định dạng nhất định -

%d đại diện cho ngày. %m đại diện cho tháng và % y đại diện cho năm

 

Ví dụ 1. Chuyển chuỗi thành DateTime

Chúng ta có thể lấy một chuỗi đầu ra ngày đơn giản và chuyển đổi nó thành datetime. Xem xét ví dụ này khi tôi đã xác định một ngày và sau đó chuyển đổi nó thành đầu ra ngày giờ

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]

đầu ra

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021

 

CŨNG ĐỌC. Giải thích các phương pháp nhóm Pandas bằng các ví dụ ĐƠN GIẢN

Ví dụ-2. Chuyển đổi chuỗi thành ngày giờ

Ở đây chúng tôi có một Sê-ri Panda mà chúng tôi sẽ chuyển đổi sang định dạng ngày giờ

import pandas as pd

# Define Panda Series
times = pd.Series[["2021-01-25", "2021/01/08", "2021", "Jan 4th, 2022"]]

# Print Series
print["Series: \n", times, "\n"]

# Convert Series to datetime
print["datetime: \n", pd.to_datetime[times]]

đầu ra

Quảng cáo

Như bạn có thể thấy, Sê-ri của chúng tôi chứa ngày ở định dạng khác nhau, tất cả đều được chuyển đổi thành định dạng ngày giờ

Series: 
0       2021-01-25
1       2021/01/08
2             2021
3    Jan 4th, 2022
dtype: object 

datetime: 
0   2021-01-25
1   2021-01-08
2   2021-01-01
3   2022-01-04
dtype: datetime64[ns]

 

Ví dụ-3. Xử lý ngoại lệ trong quá trình chuyển đổi ngày giờ

Nhưng điều gì sẽ xảy ra nếu Sê-ri chứa văn bản bình thường thay vì ngày giờ, trong trường hợp như vậy, thời gian tới sẽ phát sinh ngoại lệ. Ví dụ: tôi đã cập nhật Sê-ri của mình thành

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
5

Khi chúng tôi cố gắng chuyển đổi thành_datetime này, chúng tôi nhận được ngoại lệ sau

Traceback [most recent call last]:
  File "/usr/local/lib/python3.8/dist-packages/pandas/core/arrays/datetimes.py", line 2192, in objects_to_datetime64ns
values, tz_parsed = conversion.datetime_to_datetime64[data.ravel["K"]]
  File "pandas/_libs/tslibs/conversion.pyx", line 359, in pandas._libs.tslibs.conversion.datetime_to_datetime64
TypeError: Unrecognized value type: 

During handling of the above exception, another exception occurred:

Vì vậy, để xử lý việc này, chúng ta phải sử dụng

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
6 sẽ chuyển đổi tất cả phần mà to_datetime không thể chuyển đổi thành NaT i. e. không phải lúc

Hãy cập nhật mã của chúng tôi

________số 8_______

đầu ra

CŨNG ĐỌC. Cách sử dụng gấu trúc. Loạt. map[] [Ví dụ thực tế]

Như bạn có thể thấy, giờ đây Hello World được thay thế bằng NaT vì to_datetime không thể chuyển đổi trường đó

Series: 
0       2021-01-25
1       2021/01/08
2             2021
3      Hello World
4    Jan 4th, 2022
dtype: object 

datetime: 
0   2021-01-25
1   2021-01-08
2   2021-01-01
3          NaT
4   2022-01-04
dtype: datetime64[ns]

 

Ví dụ-4. Chuyển đổi thời gian Unix thành DateTime

Unix đại diện là một cách để lưu trữ thời gian tính bằng giây và tôi tin rằng nó đại diện cho số giây kể từ ngày 1 tháng 1 năm 1970, tôi nghĩ, vào lúc nửa đêm. Và do đó, bằng cách lưu trữ ngày giờ dưới dạng số giây, rất dễ dàng chuyển đổi số giây đó thành một ngày và giờ cụ thể mà không gặp phải bất kỳ loại vấn đề định dạng nào với dấu gạch ngang, dấu gạch chéo và tất cả các loại biểu tượng ngộ nghĩnh

Quảng cáo

import pandas as pd

# Define Panda Series
times = pd.Series[[1349720105, 1349806505, 1349979305, 1350065705]]

# Convert Series to datetime
print["datetime:\n", pd.to_datetime[times, unit = "s"]]

đầu ra

datetime:
0   2012-10-08 18:15:05
1   2012-10-09 18:15:05
2   2012-10-11 18:15:05
3   2012-10-12 18:15:05
dtype: datetime64[ns]

 

Ví dụ-5. Sử dụng định dạng với to_datetime

Bây giờ to_datetime sẽ tự động xác định ngày, tháng và năm nhưng có thể có trường hợp đai ốc được cung cấp có thể không ở định dạng chuẩn

Ví dụ: tôi sẽ xác định chuỗi ngày của mình ở định dạng "%M-%D-%Y". e. tháng ngày năm. Trong trường hợp như vậy, nếu chúng tôi chỉ muốn truy cập tháng, thì

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7 có thể không cung cấp dữ liệu phù hợp. Vì vậy, trong trường hợp như vậy, chúng tôi sử dụng
2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
8 để xác định định dạng mà đầu vào đã được cung cấp
2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
0

đầu ra

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
1

 

CŨNG ĐỌC. Khám phá hàm pandasmelt[] [Ví dụ thực tế]

Ví dụ-6. Chuyển đổi phạm vi ngày thành DateTime

Thí dụ. Trong ví dụ này, chúng tôi đang chuyển đổi khung dữ liệu hiện có thành datetime bằng cách sử dụng hàm

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
2

đầu ra

Quảng cáo

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
3

 

Ví dụ-7. Thay đổi định dạng đầu ra to_datetime[]

Chúng ta có thể sử dụng

import pandas as pd

# Define Panda Series
times = pd.Series[["2021-01-25", "2021/01/08", "2021", "Jan 4th, 2022"]]

# Print Series
print["Series: \n", times, "\n"]

# Convert Series to datetime
print["datetime: \n", pd.to_datetime[times]]
1 để thay đổi định dạng đầu ra của hàm
2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7

Định dạng bắt đầu bằng ký hiệu %

  1. %d đại diện cho ngày
  2. %m đại diện cho tháng
  3. %Y đại diện cho năm

Thí dụ. Trong ví dụ này, chúng tôi đang hiển thị ngày giờ trong "%d-%m-%Y%I. định dạng %M %p"

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
4

đầu ra

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
5

 

Ví dụ-8. Xóa thời gian khỏi đầu ra to_datetime[] [Chỉ in ngày]

Trong kịch bản này, chúng ta sẽ thảo luận cách loại bỏ thời gian khỏi datetime đã chuyển đổi. Chúng ta phải đề cập đến

import pandas as pd

# Define Panda Series
times = pd.Series[["2021-01-25", "2021/01/08", "2021", "Jan 4th, 2022"]]

# Print Series
print["Series: \n", times, "\n"]

# Convert Series to datetime
print["datetime: \n", pd.to_datetime[times]]
3 để chỉ có ngày mà không có thời gian

CŨNG ĐỌC. 4 cách để thêm hàng vào DataFrame hiện có trong Pandas

cú pháp

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
6

ở đâu,

  1. dataframe là khung dữ liệu đầu vào
  2. cột là tên cột bao gồm các giá trị ngày giờ

Thí dụ

Trong ví dụ này, chúng tôi đang loại bỏ thời gian khỏi ngày giờ với

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7 cho khung dữ liệu trên

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
7

đầu ra

Quảng cáo

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
8

 

Ví dụ-9. Phân tích tên tháng bằng to_datetime[]

Ở đây chúng tôi đang chuyển đổi tên tháng thành dấu thời gian [ngày, giờ và giờ] bằng cách sử dụng to_datetime[]. Đầu vào là tên tháng theo sau là ngày và năm

Sự sắp xếp

import pandas as pd

# Define string
date = '04/03/2021 11:23'

# Convert string to datetime format
date1 = pd.to_datetime[date]

# print to_datetime output
print[date1]

# print day, month and year separately from the to_datetime output
print["Day: ", date1.day]
print["Month", date1.month]
print["Year", date1.year]
9

Thí dụ

Trong ví dụ này, chúng tôi đang phân tích tên tháng tiếp theo bằng hàm to_datetime[]

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
0

đầu ra

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
1

 

Ví dụ-10. Thêm đầu ra múi giờ to_datetime[]

Chúng ta có thể lấy múi giờ bằng phương pháp

import pandas as pd

# Define Panda Series
times = pd.Series[["2021-01-25", "2021/01/08", "2021", "Jan 4th, 2022"]]

# Print Series
print["Series: \n", times, "\n"]

# Convert Series to datetime
print["datetime: \n", pd.to_datetime[times]]
5 sau khi chuyển đổi dữ liệu ngày thành ngày giờ bằng phương pháp
2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7

cú pháp

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
2

ở đâu,

  1. dataframe là khung dữ liệu đầu vào
  2. cột đề cập đến cột ngày giờ
  3. zone_name là múi giờ - như châu Á/kolkata, UTC, v.v.

CŨNG ĐỌC. Cách lặp qua các hàng trong Pandas DataFrame [5 phương pháp]

 

Thí dụ. Thêm dữ liệu múi giờ vào_datetime[]

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
3

đầu ra

Quảng cáo

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
4

 

Tóm lược

Trong hướng dẫn này, chúng tôi đã đề cập đến các ví dụ khác nhau về hàm

2021-03-04 11:23:00
Day:  4
Month 3
Year 2021
7 trong Python Pandas. Chúng tôi đề cập đến các chủ đề sau đây về cơ bản

Làm cách nào để chuyển đổi DateTime thành ngày trong Python?

Đối với điều này, chúng tôi sẽ sử dụng phương thức strptime[] và mô-đun Pandas . Phương thức này được sử dụng để tạo một đối tượng DateTime từ một chuỗi. Sau đó, chúng tôi sẽ trích xuất ngày từ đối tượng DateTime bằng cách sử dụng hàm date[] và dt. ngày từ Pandas trong Python.

Làm cách nào để chuyển đổi sê-ri thành ngày trong gấu trúc?

sử dụng gấu trúc. Phương thức to_datetime[] được sử dụng để thay đổi thời gian của Chuỗi/Đối tượng thành loại ngày [datetime64[ns]]

Làm cách nào để trích xuất ngày từ chuỗi trong Python?

Sử dụng chuẩn hóa để trích xuất ngày từ cột ngày giờ của Pandas . Để duy trì kiểu dữ liệu của cột khi trích xuất ngày từ cột Pandas, chúng ta có thể sử dụng. đt. chức năng bình thường hóa [].

Làm cách nào để thay đổi định dạng DateTime thành ngày trong gấu trúc?

Bạn có thể chuyển đổi DateTime thành Date trong pandas bằng cách sử dụng dt. ngày và dt. phương thức chuẩn hóa [] . Trong Pandas, DateTime là tập hợp ngày và giờ ở định dạng “YYYY-MM-DD HH. MM. SS” trong đó YYYY-MM-DD được gọi là ngày và HH. MM. SS được gọi là Thời gian.

Chủ Đề