大佬教程收集整理的这篇文章主要介绍了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,请注明来意。