📜  从 Pandas 中的日期获取日期

📅  最后修改于: 2022-05-13 01:54:20.641000             🧑  作者: Mango

从 Pandas 中的日期获取日期

给定特定日期,可以获得该日期所在的星期几。这是在 Pandas 库和 pandas 中的 to_datetime() 方法的帮助下实现的。
在大多数数据集中,日期列似乎是数据类型String ,这绝对不适合使用该列执行任何计算,例如 2 个日期之间的月差、时间差或查找日期星期。因此,Pandas 提供了一个名为 to_datetime() 的方法来将字符串转换为 Timestamp 对象。
例子 :

We'll use the date format 'dd/mm/yyyy'

Input :  '24/07/2020' 
Output : 'Friday' 

Input : '01/01/2001'
Output : 'Monday' 

一旦我们将字符串格式的日期转换为日期时间对象,就很容易使用创建的 Timestamp 对象上的方法 day_name() 获取星期几。
示例 1:在此示例中,我们将类型为“str”且格式为“dd/mm/yyyy”的随机日期传递给 to_datetime() 方法。结果,我们得到了一个Timestamp pandas 对象。然后我们通过 Timestamp 类的 day_name() 方法检索星期几。

Python3
# importing the module
import pandas as pd
 
# the date in "dd/mm/yyyy" format
date = "19/02/2022"
print("Initially the type is : ", type(date))
 
# converting string to DateTime
date = pd.to_datetime(date, format = "%d/%m/%Y")
print("After conversion, the type is : ", type(date))
 
# fetching the day
print("The day is : " + date.day_name())


Python3
# importing the module
import pandas as pd
 
# 'dd-mm-yyyy'
date_1 = '22-07-2011' 
date_1 = pd.to_datetime(date_1, format ="%d-%m-%Y")
 
print("The day on the date " + str(date_1) +
      " is : " + date_1.day_name())
 
# 'mm.dd.yyyy'
date_2 = '12.03.2000' 
date_2 = pd.to_datetime(date_2, format ="%m.%d.%Y")
print("The day on the date " + str(date_2) +
      " is : " + date_2.day_name())
 
# 'yyyy / dd / mm'
date_3 = '2004/9/4'   
date_3 = pd.to_datetime(date_3, format ="%Y/%d/%m")
print("The day on the date " + str(date_2) +
      " is : " + date_3.day_name())


输出 :

示例 2:在下面的示例中,不同格式的日期已转换为 Timestamp 对象,然后使用 day_name() 方法检索它们各自的星期几。

Python3

# importing the module
import pandas as pd
 
# 'dd-mm-yyyy'
date_1 = '22-07-2011' 
date_1 = pd.to_datetime(date_1, format ="%d-%m-%Y")
 
print("The day on the date " + str(date_1) +
      " is : " + date_1.day_name())
 
# 'mm.dd.yyyy'
date_2 = '12.03.2000' 
date_2 = pd.to_datetime(date_2, format ="%m.%d.%Y")
print("The day on the date " + str(date_2) +
      " is : " + date_2.day_name())
 
# 'yyyy / dd / mm'
date_3 = '2004/9/4'   
date_3 = pd.to_datetime(date_3, format ="%Y/%d/%m")
print("The day on the date " + str(date_2) +
      " is : " + date_3.day_name())

输出 :