如何使用 Python 中的 Pandas 檢查某天是工作日還是週末?
Python 的 **pandas** 庫提供了不同的函式來檢查某天是工作日還是週末,例如 weekday()、day_name()、isoweekday() 等。
Pandas 是一個開源的 Python 庫,用於資料操作、資料分析、資料視覺化、資料結構等。該庫廣泛應用於資料科學和資料分析領域,提供資料清理、探索和轉換功能。Pandas 中有許多模組和函式可用於處理給定資料。
使用 weekday() 函式
在 Python 中,可以使用 **weekday()** 函式來確定給定日期是工作日還是週末。此函式以整數形式返回一週中的某一天。其中,0 表示星期一,1 表示星期二,依此類推。
示例
在以下示例中,我們將對由 pandas DataFrame 建立的日期應用 **weekday()** 函式。結果輸出將指示給定日期是工作日還是週末。
import pandas as pd
date = pd.to_datetime('2023-03-25')
print(date.weekday())
if date.weekday() < 5:
print(date,"is Weekday")
else:
print(date,"is Weekend")
輸出
以下是 **weekday()** 函式的輸出。
5 2023-03-25 00:00:00 is Weekend
示例
讓我們再看一個示例來了解 Python 庫的 **weekday()** 函式。
def week_day(date):
import pandas as pd
dte = pd.to_datetime(date)
print(dte.weekday())
if dte.weekday() < 5:
print(dte,"is Weekday")
else:
print(dte,"is Weekend")
week_day('23-03-2023')
輸出
當我們執行上述程式碼時,以下是 **weekday()** 函式的輸出——
3 2023-03-23 00:00:00 is Weekday
使用 day_name() 函式
**day_name()** 函式也可以用來檢查給定日期是工作日還是週末。此函式以字串形式返回日期,例如工作日或週末。
示例
在此示例中,我們將對使用 pandas 庫的 **to_datetime()** 函式建立的日期應用 **day_name()** 函式。
import pandas as pd
date = pd.to_datetime('2023-03-25')
print(date.day_name())
if date.day_name() in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']:
print(date,"is Weekday")
else:
print(date,"is Weekend")
輸出
以下是 **day_name()** 函式的輸出,用於查詢工作日或週末。
Saturday 2023-03-25 00:00:00 is Weekend
示例
這是 **day_name()** 函式的另一個示例,用於查詢給定日期是工作日還是週末。
def week_date(date):
import pandas as pd
dte = pd.to_datetime(date)
print(dte.day_name())
if dte.day_name() in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']:
print(dte,"is Weekday")
else:
print(dte,"is Weekend")
week_date('14-05-2023')
輸出
當我們執行上述程式碼時,將生成以下輸出 -
Sunday 2023-05-14 00:00:00 is Weekend
使用 isoweekday() 函式
檢查指定日期是工作日還是週末的另一種方法是使用 Python 的 **isoweekday()** 函式。此函式以整數形式返回一週中的某一天,其中星期一為 1,星期二為 2,星期三為 3,星期四為 4,星期五為 5,星期六為 6,星期日為 7。
import pandas as pd
dte = pd.to_datetime('2023-03-25')
print(dte.isoweekday())
if dte.isoweekday() < 6:
print(dte,"is Weekday")
else:
print(dte,"is Weekend")
輸出
以下是 isoweekday() 函式的輸出,用於檢查給定日期是工作日還是週末。
6 2023-03-25 00:00:00 is Weekend
示例
讓我們再看一個示例來了解 day_name() 的工作原理,它檢查給定日期是工作日還是週末。以下是程式碼。
def wee_day(date):
import pandas as pd
dte = pd.to_datetime(date)
print(dte.isoweekday())
if dte.isoweekday() < 6:
print(dte,"is Weekday")
else:
print(dte,"is Weekend")
wee_day('2022-11-21')
輸出
以下是 **day_name()** 函式的輸出,用於檢查給定日期是週末還是工作日。
1 2022-11-21 00:00:00 is Weekday
示例
以下是另一個示例 –
a = 300
b = 20
c = 30
d = 340
dic = {"a" : 10,"b" : 20,"c" : 40,"d" : 230}
if any([dic[key] == value for key, value in locals().items() if key in dic]):
print("At least one variable is equal to their respective value")
else:
print("All the variables are not equal to their respective values")
輸出
以下是使用列表推導和 **locals()** 函式在字典中變數和值的輸出。
At least one variable is equal to their respective value
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP