程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python:日期到季节大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Python:日期到季节?

开发过程中遇到Python:日期到季节的问题如何解决?下面主要结合日常开发的经验,给出你关于Python:日期到季节的解决方法建议,希望对你解决Python:日期到季节有所启发或帮助;

您可以使用简单的数学公式将一个月压缩为一个季节,例如:

>>> [month%12 // 3 + 1 for month in range(1, 13)]
[1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 1]

因此,对于使用向量运算的用例(@DSM点数):

>>> temp2.dt.month%12 // 3 + 1
1    3
2    3
3    3
4    4
5    4
6    4
7    4
8    4
name: ID, dtype: int64

解决方法

我想将日期时间序列转换为季节,例如第3、4、5个月,我想用2(春季)替换它们;对于6、7、8个月,我想用3(夏季)等替换它们。

所以,我有这个系列

id
1       2011-08-20
2       2011-08-23
3       2011-08-27
4       2011-09-01
5       2011-09-05
6       2011-09-06
7       2011-09-08
8       2011-09-09
Name: timestamp,dtype: datetiR_92_11845@e64[ns]

这是我一直在尝试使用的代码,但无济于事。

# Get seasons
spring = range(3,5)
summer = range(6,8)
fall = range(9,11)
# winter = everything else

month = temp2.dt.month
season=[]

for _ in range(len(month)):
    if any(x == spring for x in month):
       season.append(2) # spring 
    elif any(x == summer for x in month):
        season.append(3) # summer
    elif any(x == fall for x in month):
        season.append(4) # fall
    else:
        season.append(1) # winter

for _ in range(len(month)):
    if month[_] == 3 or month[_] == 4 or month[_] == 5:
        season.append(2) # spring 
    elif month[_] == 6 or month[_] == 7 or month[_] == 8:
        season.append(3) # summer
    elif month[_] == 9 or month[_] == 10 or month[_] == 11:
        season.append(4) # fall
    else:
        season.append(1) # winter

两种解决方案均无效,特别是在第一个实现中,我收到一个错误:

而第二个是有错误的大列表。有什么想法吗?谢谢

大佬总结

以上是大佬教程为你收集整理的Python:日期到季节全部内容,希望文章能够帮你解决Python:日期到季节所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。