首页 >后端开发 >Python教程 >如何从 Pandas 日期时间列中有效提取年份和月份?

如何从 Pandas 日期时间列中有效提取年份和月份?

DDD
DDD原创
2024-12-14 20:02:11217浏览

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