用pandas库提取IBTrACS中特定条件的热带气旋最佳路径数据
生活随笔
收集整理的這篇文章主要介紹了
用pandas库提取IBTrACS中特定条件的热带气旋最佳路径数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JTWC的官網還是上不了,但是IBTrACS的數據下載還是沒有問題的,本文就跟大家交流一下如何從IBTrACS中提取特定機構和特定條件的熱帶氣旋最佳路徑數據。
IBTrACS下載地址https://www.ncei.noaa.gov/products/international-best-track-archive?name=ib-v4-access
為了使用方便,用了函數封裝,可以針對自己需要的條件修改
import pandas as pd # 從ibtracs數據中篩選某個機構的最佳路徑數據 def IBTrACS_Select_TS(AGENCY='USA'):data = pd.read_csv('ibtracs.WP.list.v04r00.csv',low_memory=False) #文件路徑自己改# 選取WP(Western North Pacific)的數據中TS(Tropical),NR(Not Reported),MX(Mixed)的數據(只考慮熱帶氣旋)data=data[[ i in ['TS','NR','MX'] for i in data['NATURE']]]# print(data.shape)# 只留下需要的機構數據columnsdata=data[list(filter(None,[i*(i in ['SID','SEASON','NUMBER','NAME','ISO_TIME'] or AGENCY in i) for i in data.columns]))]# print(data.shape)# 選取時間是6,12,18,00的數據(統一數據間隔,方便后續計算)data=data[[i.split(' ')[1].split(':')[0] in ['00','06','12','18'] for i in data['ISO_TIME']]]# print(data.shape)# 提取需要的年份,以1980-2020年為例data=data[[ i in [str(i) for i in range(1980,2021)] for i in data['SEASON']]]# print(data.shape)# 選取Wind不為空的數據data=data[[i != ' ' for i in data[AGENCY+'_WIND']]]# print(data.shape)# 去掉數據太少的columnsdata=data[list(filter(None,[k*(pd.Series([i != ' ' for i in data[k]]).sum()>100) for k in data.columns]))]# print(data.shape)# print(data.columns)return data調用函數即可。
JTWC_data=IBTrACS_Select_TS(AGENCY='USA') CMA_data=IBTrACS_Select_TS(AGENCY='CMA') JMA_data=IBTrACS_Select_TS(AGENCY='TOKYO')試著篩選了美國(JTWC)、中國(CMA)和日本(TOKYO)的數據,都沒有問題。
因為觀測方法和準入標準等不同,數據量會有差別。
本文部分思路參考了JTWC數據下載及處理_小朱小朱絕不認輸的博客-CSDN博客_jtwc
祝大家科研順利~
總結
以上是生活随笔為你收集整理的用pandas库提取IBTrACS中特定条件的热带气旋最佳路径数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SPARK下载安装
- 下一篇: 关于Realtek HD Audio声卡