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
5Khi 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úcHãy cập nhật mã của chúng tôi
đầ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
7import 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
7import 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 %
- %d đại diện cho ngày
- %m đại diện cho tháng
- %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 gianCŨ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,
- dataframe là khung dữ liệu đầu vào
- 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ênimport 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]
9Thí 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
7cú pháp
2021-03-04 11:23:00
Day: 4
Month 3
Year 2021
2ở đâu,
- dataframe là khung dữ liệu đầu vào
- cột đề cập đến cột ngày giờ
- 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