从 Pandas DataFrame 的日期时间列中提取年份和月份可能是一项简单的任务。让我们重新审视上述问题并提供全面的解决方案。
一种方法是对日期时间列进行重新采样,以按频率(在本例中为按月)对其进行分组。但是,提供的代码会遇到错误,因为重采样操作仅对 DatetimeIndex 或 periodIndex 对象有效。
另一个常见的解决方案是对 Datetime 列的每个元素应用 lambda 函数,对字符串进行切片以提取只是年份或月份部分。但是,由于 Datetime 列元素的 Timestamp 类型缺乏切片功能,此方法会失败。
相反,我们推荐以下解决方案:
df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month
或者,这种简洁的方法可以使用语法:
df['year'] = df['ArrivalDate'].dt.year df['month'] = df['ArrivalDate'].dt.month
此操作创建新的“年”和“月”列,每个列包含从原始日期时间列中提取的年份或月份值。现在,您拥有包含提取的年份和月份信息的单独列,可以更轻松地将它们用于各种分析目的。
以上是如何从 Pandas 日期时间列中有效提取年份和月份?的详细内容。更多信息请关注PHP中文网其他相关文章!