首页 > 编程语言 > 详细

用python计算连续高温天数

时间:2020-03-25 17:54:21      阅读:307      评论:0      收藏:0      [点我收藏+]

留存备份。

简单背景:因为想要计算连续高温天数又恰好想用python所以试了试 居然能行而且快

数据说明:

    数据集名称 data

    为日期,按升序排列

    第3列为当日最高气温

    第8列为需要计算的连续高温天数

    理论上高温是指35度以上 因为地理原因调整为30度

    前10行的连续高温天数我自己打上去了 嫌麻烦可以从某一个不到高温的日子开始计算

其他:

    输出csv出现了中文乱码 最后通过encoding解决了(utf-8不可以但是utf_8_sig可以)

所以代码是:

import pandas as pd
data=pd.read_csv(open(D:/data/weather_test2.csv))
print(data.head(5))
print(data.iat[1,1])#第二行第二列,看看python是咋算行列
#已经试算1到10行,实际循环从11行开始
#用i代表实际行数(便于我理解,结合python的写法实际"i-1"才是我指的i行)
#range产生的书不含右边的数,实际上需要计算的行数是11到396
#行数可以用data.shape[0]或者len(data)取得,我比较熟悉原数据就直接写了
for i in range(11,397):
    if data.iat[i-1,2]<30:
        data.iat[i-1,7]=0#当天最高气温低于30则连续高温天数为0
    elif data.iat[i-2,7]==0:
        data.iat[i-1,7]=1#当天最高温不低于30但前一天连续高温天数为0 那么当天连续天气为1
    else:
        data.iat[i-1,7]=data.iat[i-2,7]+1#除了当天非高温以及前一天非高温,就用前一天的连续高温天数+1
#计算成功YEAH!!
#输出
data.to_csv(D:/data/weather_test2_after.csv, sep=,, header=True, index=True,encoding=utf_8_sig)

 

用python计算连续高温天数

原文:https://www.cnblogs.com/shilo930/p/12567458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!