วิธีแปลง datetime เป็นวันที่ใน pandas
บ่อยครั้งคุณอาจต้องการแปลงวันที่/เวลาเป็นวันที่ในรูปแบบแพนด้า โชคดีที่ทำได้ง่ายโดยใช้ฟังก์ชัน .dt.date ซึ่งใช้ไวยากรณ์ต่อไปนี้:
df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . date
ตัวอย่าง: Datetime ถึงวันที่ใน Pandas
ตัวอย่างเช่น สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:
import pandas as pd #create pandas DataFrame with two columns df = pd.DataFrame({'sales': [4, 11], 'time': ['2020-01-15 20:02:58', '2020-01-18 14:43:24']}) #view DataFrame print (df) sales time 0 4 2020-01-15 20:02:58 1 11 2020-01-18 14:43:24
ในการแปลงคอลัมน์ “เวลา” เป็นวันที่แบบง่าย เราสามารถใช้ไวยากรณ์ต่อไปนี้:
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . date #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18
ตอนนี้คอลัมน์ “เวลา” จะแสดงวันที่โดยไม่มีเวลา
การใช้ Normalize() สำหรับประเภท datetime64
คุณควรทราบว่าโค้ดด้านบนจะส่งคืนประเภท วัตถุ :
#find dtype of each column in DataFrame df. dtypes dirty int64 time object dtype:object
หากคุณต้องการ datetime64 แทน คุณสามารถทำให้องค์ประกอบเวลา เป็นมาตรฐานได้ ซึ่งจะคงประเภทไว้เป็น datetime64 แต่แสดงเฉพาะวันที่เท่านั้น:
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . normalize () #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18 #find dtype of each column in DataFrame df. dtypes dirty int64 time datetime64[ns] dtype:object
ขอย้ำอีกครั้งว่าจะแสดงเฉพาะวันที่ แต่คอลัมน์ ‘เวลา’ จะเป็นประเภท datetime64
แหล่งข้อมูลเพิ่มเติม
วิธีแปลงคอลัมน์เป็น DateTime ใน Pandas
วิธีแปลงสตริงให้ลอยใน Pandas