weixin_52515206 2022-02-16 01:06 采纳率: 0%
浏览 79

python 统计多年降雨数据 每年 最大降雨连续日数

问题遇到的现象和发生背景

我想统计1962到2020年日降雨数据的 每年 最大降雨连续日数
我想用两个for循环,第一个for循环提取每年的数据;第二个for循环统计那一年的最大降雨连续日数

问题相关代码,请勿粘贴截图
k = list(range(0, 59, 1))
zh_max   = []
sz_max   = []

for m in k:
    n=k+1962
    l  = str(n)
    li1   = Rain_zh[l]
    li2   = Rain_sz[l]
    max_time1 = 0   # 已知最大连续出现次数初始为0
    cur_time1 = 1   # 记录当前元素是第几次连续出现
    pre_element1 = None   # 记录上一个元素是什么
    max_time2 = 0   # 已知最大连续出现次数初始为0
    cur_time2 = 1   # 记录当前元素是第几次连续出现
    pre_element2 = None   # 记录上一个元素是什么
    for i in li1:
            if i == pre_element1:   # 如果当前元素和上一个元素相同,连续出现次数+1,并更新最大值
                cur_time1 += 1
                max_time1 = max((cur_time1, max_time1))
            else:   # 不同则刷新计数器
                pre_element1 = i
                cur_time1 = 1
            zh_max.append(max_time1)

运行结果及报错内容
datetimelike index using a single string to slice the rows, like `frame[string]`, is deprecated and will be removed in a future version. Use `frame.loc[string]` instead.
Traceback (most recent call last):

  File "C:\Users\HP\AppData\Local\Temp/ipykernel_2032/1729459897.py", line 40, in <module>
    n=k+1962

TypeError: can only concatenate list (not "int") to list

我的解答思路和尝试过的方法

想请问解决的方法,或者解决的新思路,谢谢大家!

img

我想要达到的结果

img

  • 写回答

2条回答 默认 最新

  • 关注

    k是列表不能与数值相加

    n=k+1962
    

    应该改成

    n=m+1962
    

    k 改成 m

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月16日

悬赏问题

  • ¥50 这Mac系统提示虚拟内存不足,怎么解决
  • ¥15 Rs232电路无法收发数据,求帮助
  • ¥15 百度cookie扫码登录器
  • ¥15 微机原理汇编语言debug调试实验
  • ¥23 matlab可以把相图转换为庞加莱映射吗
  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本