python 은 분 데이터 기반 으로 시간 풍속, 풍향 을 계산 하 는 데 이 터 를 실현 합 니 다.
2497 단어 프로 그래 밍 기술알고리즘
위의 계산 방향 이 있 으 면 바로 실현 할 수 있 고 구체 적 으로 다음 과 같다.
#!usr/bin/env python
# encoding:utf-8
from __future__ import division
"""
__Author__:
:
:
,
"""
def windSpeedDirection(data_list):
'''
data_list :
T,temperate,pressure,humidity,speed,direction
'''
data_dict = {} # ,
for i in range(1,len(data_list)):
T,temperate,pressure,humidity,speed,direction=data_list[i]
hour=T.split(':')[0].strip()+':00:00'
if hour in data_dict:
data_dict[hour].append(data_list[i])
else:
data_dict[hour]=[data_list[i]]
#
result={}
for one_hour in data_dict:
print 'one_hour: ',one_hour
one_data=data_dict[one_hour]
res_list=sorted(one_data,key=lambda i:i[0]) #
wd_list=[float(res_list[i][-1]) for i in range(len(res_list))]
ws_list=[float(res_list[i][-2]) for i in range(len(res_list))]
fwj_list=[degree2WindDirection(degree=one) for one in wd_list]
fre_dict={}
for one in fwj_list:
if one in fre_dict:
fre_dict[one]+=1
else:
fre_dict[one]=1
fre_list=sorted(fre_dict.items(),key=lambda e:e[1],reverse=True)
final_wd=fre_list[0][0]
final_ws_list=[]
for i in range(len(wd_list)):
if degree2WindDirection(degree=wd_list[i])==final_wd:
final_ws_list.append(ws_list[i])
print final_ws_list
ws=sum(final_ws_list)/len(final_ws_list)
wd=windDirection2Degree(direction=final_wd)
result[one_hour]=[ws,wd]
return result
if __name__=='__main__':
windSpeedDirection(data_list)
전체적인 실현 사고방식 도 매우 간단 하 다. 상응하는 주석 은 이미 코드 안에 넣 었 기 때문에 더 이상 설명 을 하지 않 는 다.
아름 답 고 충실 한 주말, 두 형 제 를 맞이 하고 두 형 제 를 보 냈 습 니 다. 시간 이 이렇게 바 쁩 니 다. 지금 나이 가 우리 가 걸음 을 멈 추고 추억 해 야 할 때 가 아 닐 수도 있 습 니 다. 그럼 열심히 노력 하 세 요. 화 이 팅!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
일상 프로 그래 밍 의 작은 기교 와 주의 점 (3)20 [MySQL] varchar 는 가 변 긴 문자열 로 저장 공간 을 미리 할당 하지 않 고 길이 가 5000 자 를 초과 하지 않 습 니 다.저장 길이 가 이 값 보다 크 면 필드 형식 을 text 로 정의 하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.