使用Python中的Pandas顯示給定年份的所有星期日
Pandas是一個強大的Python庫,用於資料操作和分析。Pandas的關鍵特性之一是能夠有效地處理日期和時間資料。在本文中,我們將向您展示如何使用Pandas顯示給定年份的所有星期日。
在本文中,我們將探討如何使用Pandas(Python中流行的資料操作庫)來顯示給定年份的所有星期日。我們將逐步介紹提取一年中的星期日並以可讀格式顯示它們的過程。
先決條件
在開始之前,請確保您的機器上已安裝Pandas。您可以在終端中執行以下命令進行安裝:
pip install pandas Getting Started
在Python中使用Pandas
首先,我們將從匯入Pandas庫開始,並建立一個Pandas DataFrame來儲存該年的日期。我們將使用date_range函式生成該年的日期範圍。以下是生成2023年日期範圍的程式碼:
import pandas as pd
year = 2023
start_date = pd.to_datetime(f'{year}-01-01')
end_date = pd.to_datetime(f'{year}-12-31')
dates = pd.date_range(start_date, end_date)
我們使用pd.to_datetime函式建立了start_date和end_date物件。dates變數是使用pd.date_range函式建立的,該函式會生成從start_date到end_date的日期範圍。
提取星期日
要從日期範圍中提取星期日,我們將使用Pandas提供的dt訪問器。dt訪問器提供了多種方法來操作Pandas DataFrame的日期和時間值。我們將使用dt訪問器的day_name方法獲取dates DataFrame中每個日期的星期名稱。以下是提取星期日的程式碼:
sundays = dates[dates.dt.day_name() == 'Sunday']
dates.dt.day_name()方法返回dates DataFrame中每個日期的星期名稱。然後,我們過濾dates DataFrame以僅獲取星期名稱為“Sunday”的行。
顯示星期日
為了以可讀的格式顯示星期日,我們將使用dt訪問器的strftime方法。strftime方法用於格式化Pandas DataFrame的日期和時間值。以下是顯示星期日的程式碼:
for sunday in sundays:
print(sunday.strftime('%Y-%m-%d'))
strftime('%Y-%m-%d')方法將日期格式化為YYYY-MM-DD格式。然後,我們遍歷sundays DataFrame並以所需的格式列印每個星期日。
完整程式碼
以下是顯示2023年所有星期日的完整程式碼:
import pandas as pd
year = 2023
start_date = pd.to_datetime(f'{year}-01-01')
end_date = pd.to_datetime(f'{year}-12-31')
dates = pd.date_range(start_date, end_date)
sundays = dates[dates.dt.day_name() == 'Sunday']
for sunday in sundays:
print(sunday.strftime('%Y-%m-%d'))
輸出
DatetimeIndex(['2023-01-01', '2023-01-08', '2023-01-15', '2023-01-22',
'2023-01-29', '2023-02-05', '2023-02-12', '2023-02-19',
'2023-02-26', '2023-03-05', '2023-03-12', '2023-03-19',
'2023-03-26', '2023-04-02', '2023-04-09', '2023-04-16',
'2023-04-23', '2023-04-30', '2023-05-07', '2023-05-14',
'2023-05-21', '2023-05-28', '2023-06-04', '2023-06-11',
'2023-06-18', '2023-06-25', '2023-07-02', '2023-07-09',
'2023-07-16', '2023-07-23', '2023-07-30', '2023-08-06',
'2023-08-13', '2023-08-20', '2023-08-27', '2023-09-03',
'2023-09-10', '2023-09-17', '2023-09-24', '2023-10-01',
'2023-10-08', '2023-10-15', '2023-10-22', '2023-10-29',
'2023-11-05', '2023-11-12', '2023-11-19', '2023-11-26',
'2023-12-03', '2023-12-10', '2023-12-17', '2023-12-24',
'2023-12-31'],
dtype='datetime64[ns]', freq=None)>
使用Pandas顯示給定年份的所有星期日
要顯示給定年份的所有星期日,我們首先需要建立一個包含整個年份日期範圍的Pandas DataFrame。然後,我們可以過濾此DataFrame以僅包含星期日。
以下是完成此任務的Python程式碼。讓我們逐步分解程式碼:
我們使用**import**語句匯入Pandas庫。
我們使用**pd.date_range()**函式建立一個涵蓋整年的日期範圍。我們分別使用start和end引數指定**開始**和**結束**日期。我們將“2022”替換為所需的年份。
我們透過使用日期範圍的**.weekday**屬性來過濾日期範圍,該屬性將星期幾作為整數返回(星期一=0,星期二=1,依此類推)。星期日由整數6表示。
我們將過濾後的日期範圍儲存在一個名為**sundays**的變數中。
最後,我們透過對**sundays**變數呼叫**print()**函式來列印星期日列表。
import pandas as pd # Replace '2022' with the desired year date_range = pd.date_range(start='1/1/2022', end='12/31/2022') # Filter the date range to only include Sundays sundays = date_range[date_range.weekday == 6] # Print the list of Sundays print(sundays)
輸出
執行上述程式碼後,您應該會看到給定年份的所有星期日的列表:
DatetimeIndex(['2022-01-02', '2022-01-09', '2022-01-16', '2022-01-23',
'2022-01-30', '2022-02-06', '2022-02-13', '2022-02-20',
'2022-02-27', '2022-03-06', '2022-03-13', '2022-03-20',
'2022-03-27', '2022-04-03', '2022-04-10', '2022-04-17',
'2022-04-24', '2022-05-01', '2022-05-08', '2022-05-15',
'2022-05-22', '2022-05-29', '2022-06-05', '2022-06-12',
'2022-06-19', '2022-06-26', '2022-07-03', '2022-07-10',
'2022-07-17', '2022-07-24', '2022-07-31', '2022-08-07',
'2022-08-14', '2022-08-21', '2022-08-28', '2022-09-04',
'2022-09-11', '2022-09-18', '2022-09-25', '2022-10-02',
'2022-10-09', '2022-10-16', '2022-10-23', '2022-10-30',
'2022-11-06', '2022-11-13', '2022-11-20', '2022-11-27',
'2022-12-04', '2022-12-11', '2022-12-18', '2022-12-25'],
dtype='datetime64[ns]', freq=None)
結論
在本文中,我們探討了如何使用Pandas提取並顯示給定年份的所有星期日。我們使用了Pandas庫的date_range、dt和strftime方法來生成日期範圍、提取星期日並以可讀格式顯示它們。Pandas提供了一種強大而靈活的方法來操作Python中的日期和時間值,使其成為資料分析和視覺化的有用工具。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP