首页 > 编程语言 >【Python】pandas 求风向数据中的主导风向

【Python】pandas 求风向数据中的主导风向

时间:2023-09-13 18:44:40浏览次数:57  
标签:direction Python bound directions 风向 pandas

data = [342.8, 337.96, 336.68, 337.94, 337.35, 340.4, 342.42, 341.86, 339.4, 341.76, 342.9, 343.63, 338.88, 339.43]

# 风向角度区分
directions = {
    "北": [(348.76, 360), (0, 11.25)],
    "北东北": [(11.26, 33.75)],
    "东北": [(33.76, 56.25)],
    "东东北": [(56.26, 78.75)],
    "东": [(78.76, 101.25)],
    "东东南": [(101.26, 123.75)],
    "东南": [(123.76, 146.25)],
    "南东南": [(146.26, 168.75)],
    "南": [(168.76, 191.25)],
    "南西南": [(191.26, 213.75)],
    "西南": [(213.76, 236.25)],
    "西西南": [(236.26, 258.75)],
    "西": [(258.76, 281.25)],
    "西西北": [(281.26, 303.75)],
    "西北": [(303.76, 326.25)],
    "北西北": [(326.26, 348.75)],
}
# 风向分类 统计个数
count_directions = {direction: 0 for direction in directions}
for angle in data:
    for direction, bound_list in directions.items():
        for i in bound_list:
            if i[0] <= angle <= i[1]:
                count_directions[direction] += 1
                break
        else:
            continue
        break  # 跳出第二层循环


print(count_directions)
# 求 value最大值的key
dominant_direction = max(count_directions, key=count_directions.get)

print("主导风向为:", dominant_direction)


标签:direction,Python,bound,directions,风向,pandas
From: https://www.cnblogs.com/jessecheng/p/17700441.html

相关文章

  • Python基础分享之一 函数
    函数最重要的目的是方便我们重复使用相同的一段程序。将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。函数的定义首先,我们要定义一个函数,以说明这个函数的功能。defsquare_sum(a,b):c=a**2+b**2returnc这......
  • Python list replication All In One
    PythonlistreplicationAllInOneerrorForthereferencevaluelist,usingthelist*numberdoesnotworkasyouexpected.#referencevaluelistletter_lists=[['A','B']]number_lists=[[1,2]]strs=letter_lists*2nums=n......
  • Python第四章(5)集合
    1.集合的特性:(1)集合为无序的不重复元素序列。(2)集合中的元素必须为不可变的类型。2.集合的创建与删除:(1)直接使用大括号:day={1,2,"Monsday"}(2)若集合中有重复元素,python会自动保留一个。(3)集合推导式:squared={x**2forxinrange(1,3)}......
  • 【Python篇】Python基础语法
    【Python篇】Python基础语法拖拖拖,能使工作便捷高效的为何要拒绝,作个记录---【蘇小沐】1.实验环境默认情况下,Python3源码文件以<fontcolor='red'>UTF-8</font>编码,所有字符串都是unicode字符串。指定源码文件其它编码:#-*-coding:cp-1252-*-#允许在源文件中使用W......
  • (转)对比学习:Golang VS Python3
    原文:https://juejin.cn/post/6844903843050815502Golang和Python都是目前在各自领域最流行的开发语言之一。Golang其高效而又友好的语法,赢得了很多后端开发人员的青睐,最适用于高并发网络编程的语言之一。Python不用说,TIOBE排行榜的前十常驻居民,现在已经稳定在前五了。在机器......
  • python pandas 读取msql并转置数据表
    importrandom,string,json,pymysqlimportpandasaspdconnect=pymysql.connect(user='',password='h',db='g,host='r',port=3306,charset='ut......
  • 微信使用python定时主动群发消息
    目前市面上的微信营销软件,绝大部分是模拟登录或者进程hook外挂形式,属于违规使用微信的范畴,容易被微信官方封号。经过思考后,我觉得利用python自动化UI点击,鼠标键盘操作,是符合真人使用微信的习惯的,被封的风险最低。因为必须是UI自动化,所以我们使用windows系统,并且结合微信电脑版来实......
  • Python pandas 读取 excel文件
    参考:https://www.jb51.net/article/283627.htm#单纯导出一个数据集defexportData_pandas(excelFile='output.xlsx'):try:#data={'Name':['Alice','Bob','Charlie'],#'Age':[......
  • python学习笔记(持续更新)
    一、对列表的操作#建立一个列表list=[1,2,3,4]#打印列表print(list)#在列表尾部添加元素list.append(5)#在指定位置插入元素list.insert(0,0)#在0位置插入元素0#在尾部插入另一个列表List=[5,6,7]list.extend(List)#删除指定位置的元素list.remove(0)#移除指定......
  • 《精通Python设计模式》 PDF电子书 +源码
    第1章工厂模式第2章建造者模式第3章其他创建型模式第4章适配器模式第5章装饰器模式第6章桥接模式第7章外观模式第8章其他结构型模式第9章职责链模式第10章命令模式第11章观察者模式第12章状态模式第13章其他行为型模式第14......