如何使用Pandas顯示特定年份的星期幾?
Pandas是一個開源的Python庫,用於資料處理和分析。
它提供了強大的資料結構,如Series(一維標記陣列)和DataFrame(二維標記陣列),可以處理不同型別的資料和操作,例如從各種檔案格式讀取和寫入資料、合併、過濾、聚合和透視資料,以及處理缺失或重複資料。
Pandas還支援時間序列資料並提供廣泛的資料視覺化功能。其易用性、多功能性和效能使其成為資料科學家和分析師在探索性資料分析、資料清洗和特徵工程任務中流行的選擇。
眾所周知,一年有52周。在本例中,我們想知道特定年份中某一天的日期。Pandas對此問題非常有幫助,只需幾行程式碼即可提供所有日期。
語法
要在Pandas中顯示特定年份的星期幾,需要遵循以下語法:
range_of_dates = pandas.date_range(start, periods, freq) result = pandas.Series(range_of_dates) print(result)
此語法使用pandas.date_range()函式建立一個日期範圍,並使用pandas.Series()函式使用生成的日期範圍建立一個Pandas序列。
pandas.date_range()函式接受三個引數:
start − 範圍的開始日期。
periods − 範圍內的週期數。
freq − 範圍的頻率。
生成的日期範圍儲存在range_of_dates變數中。然後使用pandas.Series()函式使用range_of_dates變數建立一個名為result的Pandas序列。
示例
此程式碼使用別名pd匯入Pandas庫。變數day和yy定義為字串。然後,程式碼使用這些變數建立一個日期範圍,該範圍包含52周,從yy變數中指定的年份的1月1日開始,頻率為每週特定的一天(在day變數中指定)。最後,我們得到了2023年所有星期一的日期。
具體來說,pd.date_range()函式用於建立一個日期範圍,其開始日期設定為yy+'-01-01',表示yy變數中指定的年份的1月1日。periods引數設定為52,以建立一個52周的日期範圍。freq引數設定為'W-'+(day[:3]).lower(),其中(day[:3]).lower()提取day中字串的前三個字元並將其轉換為小寫,而'W-'表示每週結束於特定星期幾,導致每週在指定的星期幾出現。
生成的日期範圍儲存在range_of_dates變數中,然後將其作為引數傳遞給pd.Series()函式以建立一個名為result的Pandas序列。然後使用result變數名在輸出中顯示result變數。
import pandas as pd
day = "monday"
yy = "2023"
range_of_dates = pd.date_range(yy+'-01-01', periods=52, freq=('W-'+(day[:3]).lower()))
result = pd.Series(range_of_dates)
print(result)
輸出
0 2023-01-02 1 2023-01-09 2 2023-01-16 3 2023-01-23 4 2023-01-30 5 2023-02-06 6 2023-02-13 7 2023-02-20 8 2023-02-27 9 2023-03-06 10 2023-03-13 11 2023-03-20 12 2023-03-27 13 2023-04-03 14 2023-04-10 15 2023-04-17 16 2023-04-24 17 2023-05-01 18 2023-05-08 19 2023-05-15 20 2023-05-22 21 2023-05-29 22 2023-06-05 23 2023-06-12 24 2023-06-19 25 2023-06-26 26 2023-07-03 27 2023-07-10 28 2023-07-17 29 2023-07-24 30 2023-07-31 31 2023-08-07 32 2023-08-14 33 2023-08-21 34 2023-08-28 35 2023-09-04 36 2023-09-11 37 2023-09-18 38 2023-09-25 39 2023-10-02 40 2023-10-09 41 2023-10-16 42 2023-10-23 43 2023-10-30 44 2023-11-06 45 2023-11-13 46 2023-11-20 47 2023-11-27 48 2023-12-04 49 2023-12-11 50 2023-12-18 51 2023-12-25 dtype: datetime64[ns]
示例
此程式碼類似於前面的程式碼,對變數day和yr進行了一些更改。具體來說,day現在設定為全大寫的“FRIDAY”,年份設定為“2023”。
程式碼還使用pd.date_range()函式建立一個日期範圍,該範圍從yr變數中指定的年份的1月1日開始,總共52個週期,頻率為每週特定的一天(在本例中為星期五)。頻率使用字串格式'W-'+(day[:3]).lower()指定,該格式提取day中字串的前三個字元,使用lower()方法將其轉換為小寫,並將其附加到'W-',表示每週在特定的一天出現。
生成的日期範圍儲存在range_of_dates變數中,然後將其作為引數傳遞給pd.Series()函式以建立一個名為result的Pandas序列。最後,顯示result變數的輸出。
import pandas as pd
day = "FRIDAY"
yr = "2023"
range_of_dates = pd.date_range(yr+'-01-01', periods=52, freq=('W-'+(day[:3]).lower()))
result = pd.Series(range_of_dates)
print(result)
輸出
0 2023-01-06 1 2023-01-13 2 2023-01-20 3 2023-01-27 4 2023-02-03 5 2023-02-10 6 2023-02-17 7 2023-02-24 8 2023-03-03 9 2023-03-10 10 2023-03-17 11 2023-03-24 12 2023-03-31 13 2023-04-07 14 2023-04-14 15 2023-04-21 16 2023-04-28 17 2023-05-05 18 2023-05-12 19 2023-05-19 20 2023-05-26 21 2023-06-02 22 2023-06-09 23 2023-06-16 24 2023-06-23 25 2023-06-30 26 2023-07-07 27 2023-07-14 28 2023-07-21 29 2023-07-28 30 2023-08-04 31 2023-08-11 32 2023-08-18 33 2023-08-25 34 2023-09-01 35 2023-09-08 36 2023-09-15 37 2023-09-22 38 2023-09-29 39 2023-10-06 40 2023-10-13 41 2023-10-20 42 2023-10-27 43 2023-11-03 44 2023-11-10 45 2023-11-17 46 2023-11-24 47 2023-12-01 48 2023-12-08 49 2023-12-15 50 2023-12-22 51 2023-12-29 dtype: datetime64[ns]
結論
我們學習瞭如何使用Pandas顯示特定年份的星期幾。使用Pandas顯示特定年份的星期幾是一個有用的練習,它演示瞭如何生成具有特定頻率的日期範圍,並提供了對時間推移的模式和趨勢的見解。憑藉其直觀且靈活的語法,Pandas是任何使用時間序列資料的資料分析師或科學家必不可少的工具。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP