從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中文網其他相關文章!