gpt4 book ai didi

python - 从一系列 Pandas 时间戳中提取月份的最快方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:39 27 4
gpt4 key购买 nike

我有一个非常大的 pandas DataFrame(大约 7000 万条记录),其中一个日期列包含 pandas Timestamps。我需要这些中的月份和年份,但我发现提取这些的天真方法非常慢。

这是一个小例子,在我的机器上大约需要半秒钟。我的实际问题要大得多,时间戳不是均匀间隔的。

ser = pd.Series(pd.date_range('1799-01-01','2100-12-01'))

%timeit [x.month for x in ser]
#1 loops, best of 3: 558 ms per loop

我希望有一种方法可以转换为 DateTimeIndex 或可以快速提取月份和年份的方法,而这本身不会永远持续下去。

最佳答案

您可以使用 dt类日期时间系列的访问器:

ser = pd.Series(pd.date_range('1799-01-01','2100-12-01'))
print ser.dt.month
# [ 1 1 1 ..., 11 11 12]
%timeit ser.dt.month
# 100 loops, best of 3: 14.7 ms per loop

手动循环方法:

%timeit [x.month for x in ser]
1 loops, best of 3: 389 ms per loop

关于python - 从一系列 Pandas 时间戳中提取月份的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32577033/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com