首頁 >後端開發 >Python教學 >如何從 Pandas 日期時間列中有效提取年份和月份?

如何從 Pandas 日期時間列中有效提取年份和月份?

DDD
DDD原創
2024-12-14 20:02:11214瀏覽

How to Efficiently Extract Year and Month from a Pandas Datetime Column?

從Pandas 日期時間列中提取月份和年份值

在Pandas Dataframe 中處理時間序列資料時,通常需要提取特定的值用於分析或視覺化目的的日期時間值的組件。在本例中,我們的目標是從包含 pandas.tslib.Timestamp 物件的欄位中僅提取月份和年份。

已嘗試多種方法來提取這些值。頻率為「M」的 resample() 方法失敗,因為它需要 DatetimeIndex 或 periodIndex。由於 Timestamp 物件缺少 getitem 屬性,lambda 函數方法失敗。

一個優雅的解決方案是將 Dataframe 的索引設定為 ArrivalDate 欄位。這會將日期時間值轉換為索引標籤。然後可以使用索引執行後續重採樣操作:

df.index = df['ArrivalDate']

但是,為了將單獨的年份和月份值提取到新列中,建議使用不同的方法:

df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year
df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month

或者,dt存取器可用於簡潔的語法:

df['year'] = df['ArrivalDate'].dt.year
df['month'] = df['ArrivalDate'].dt.month

這些操作會建立新的包含提取值的名為「year」和「month」的欄位。這允許靈活使用這些組件進行進一步的分析和操作。

以上是如何從 Pandas 日期時間列中有效提取年份和月份?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn