วิธีแปลง 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *