วิธีแปลงสตริงเป็น datetime ใน pandas
คุณสามารถใช้วิธีการต่อไปนี้เพื่อแปลงคอลัมน์สตริงเป็นรูปแบบวันที่และเวลาใน DataFrame ของแพนด้า:
วิธีที่ 1: แปลงคอลัมน์สตริงเป็น Datetime
df[' col1 '] = pd. to_datetime (df[' col1 '])
วิธีที่ 2: แปลงหลายคอลัมน์จากสตริงเป็น Datetime
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. apply (pd. to_datetime )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' task ': ['A', 'B', 'C', 'D'], ' due_date ': ['4-15-2022', '5-19-2022', '6-14-2022', '10-24-2022'], ' comp_date ': ['4-14-2022', '5-23-2022', '6-24-2022', '10-7-2022']}) #view DataFrame print (df) task due_date comp_date 0 A 2022-04-15 2022-04-14 1 B 2022-05-19 2022-05-23 2 C 2022-06-14 2022-06-24 3 D 2022-10-24 2022-10-07 #view data type of each column print ( df.dtypes ) task object due_date object comp_date object dtype:object
เราจะเห็นว่าแต่ละคอลัมน์ใน DataFrame ปัจจุบันมีประเภทข้อมูล วัตถุ ซึ่งก็คือสตริง
ตัวอย่างที่ 1: แปลงคอลัมน์สตริงเป็น Datetime
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแปลงคอลัมน์ Due_date จากสตริงเป็น datetime:
#convert due_date column to datetime
df[' due_date '] = pd. to_datetime (df[' due_date '])
#view updated DataFrame
print (df)
task due_date comp_date
0 A 2022-04-15 4-14-2022
1 B 2022-05-19 5-23-2022
2 C 2022-06-14 6-24-2022
3 D 2022-10-24 10-7-2022
#view data type of each column
print ( df.dtypes )
task object
due_date datetime64[ns]
comp_date object
dtype:object
เราจะเห็นว่าคอลัมน์ Due_date ถูกแปลงเป็น datetime ในขณะที่คอลัมน์อื่นๆ ทั้งหมดยังคงไม่เปลี่ยนแปลง
ตัวอย่างที่ 2: แปลงหลายคอลัมน์จากสตริงเป็น Datetime
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแปลงคอลัมน์ Due_date และ comp_date จากสตริงเป็น datetime:
#convert due_date and comp_date columns to datetime
df[[' due_date ', ' comp_date ']] = df[[' due_date ', ' comp_date ']]. apply (pd. to_datetime )
#view updated DataFrame
print (df)
task due_date comp_date
0 A 2022-04-15 2022-04-14
1 B 2022-05-19 2022-05-23
2 C 2022-06-14 2022-06-24
3 D 2022-10-24 2022-10-07
#view data type of each column
print ( df.dtypes )
task object
due_date datetime64[ns]
comp_date datetime64[ns]
dtype:object
เราจะเห็นว่าคอลัมน์ Due_date และ comp_date ถูกแปลงจากสตริงเป็น datetime แล้ว
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของฟังก์ชัน to_datetime() ของ pandas ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีสร้างช่วงวันที่ใน Pandas
วิธีแปลงการประทับเวลาเป็นวันที่/เวลาใน Pandas
วิธีคำนวณความแตกต่างระหว่างวันที่สองวันในหมีแพนด้า