Python在闪电监测资料分析中的应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? ? Python在闪电监测资料分析中的应用 ? ? 陈小尘,谢亚雄,张伟 (四川省防雷中心,四川成都,610072) 关键字:Python;Numpy;Pandas;Matplotlib;雷电数据 0 引言 对闪电监测资料进行分析,能够帮助我们了解当地雷电活动规律和指导防雷减灾工作[1-3],提高雷电灾害主动防御能力。闪电监测资料动辄几十上百万条,一般需要计算机语言进行分析处理,大多数计算机编程语言都是编译型的,在运行之前需要将源码编译为操作系统可以执行的二进制格式,而Python语言不需要编译成二进制代码。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。Python语言语句简洁、易于学习、代码开源、库类丰富,近年迅速流行,在大数据分析与处理等方面有广泛应用[4-5]。因此,利用Python语言对闪电监测资料进行处理,更加简洁灵活、高效实用。Anaconda是一个开源的Python发行版本,包含了很多默认的工具包。本文利用Jupter Notebook(Anaconda3)简单介绍一下闪电监测资料的分析处理方法,并完成四川省2020年雷电活动特征分析。 1 模块导入 模块定义了函数、类和变量,包含了可执行的代码,把相关的代码分配到一个模块里能更方便使用。在数据分析处理处理中,一般使用的模块有Numpy模块、Pandas模块和Matplotlib模块。Numpy是一个由多维数组对象和用于处理数组的例程集合组成的库,主要用于数组计算;Pandas是对数据进行导入、清洗、处理、统计和输出,主要用于数据分析处理;Matplotlib是画图工具,可以生成折线图、直方图、饼状图、条形图和散点图等。模块的导入语句为“import模块”,导入模块通常会进行简写(表1)。 表1 模块导入语句 2 雷电数据导入和处理 通常一个省一年的闪电监测资料包含了几十万条雷电数据,每条雷电数据包括了站点的ID、日期、时间、经度、纬度、强度、陡度、误差、定位方式、省、市、县等信息,本文分析的闪电监测资料来源于四川省雷电监测网,文件格式为txt格式,使用Python进行数据处理的基本语句格式为“模块.函数(参数)”,导入的结果需要用变量“data”(可自定义)来接收,雷电数据的导入语句为“data=pd.read_csv(‘雷电数据路径’)”,数据导入后,可以使用语句“data.info()”和“data.describe()”查看数据的基本属性和信息,以便对雷电数据有初步了解。导入后的雷电数据,需要对数据进行清洗和处理。在“read_csv()”语句中,可以设置相关参数,方便数据统计分析,常用的参数有:“usecols”选择需要分析列的数据;“rename”对数据列名进行重命名;“parse_dates”对时间进行解析,转换成日期格式;“dtype”对数据格式进行转换;“index_col”设置索引;也可以用函数“abs()”对雷电强度进行绝对值处理。 3 雷电特征分析 表征一个区域的雷电活动特征通常有雷暴日数、雷电次数、雷电密度、雷电强度、月分布、时分布等,Pandas对雷电数据进行统计相关语句见表2。本文以四川省2020年雷电数据为样本,利用Python语句对雷电活动特征进行分析。 表2 Pandas统计雷电数据相关语句 3.1 雷暴日数统计 表2给出了部分雷电数据统计分析的语句,“nunique”函数表示统计去重的个数,对日期序列进行去重个数的统计即为雷暴日数,语句“data.日期.nunique()”表示对四川省雷暴日数进行统计,统计结果为280天,说明四川省2020年的雷暴日数为280天。结合“groupby”函数进行分组统计,“sort_values()”对统计结果进行排序,可以得出市级行政区域和县级行政区域的雷暴日数,语句“data.groupby(“市”)[“日期”].nunique().sort_values()”是按各地级市进行分组统计,得出各地级市的雷暴日数,并按雷暴日数从小到大的顺序输出,可以得出,在市级行政区域中,雷暴日数最少的遂宁市为84天,雷暴日数最多的凉山彝族自治州为242天。语句“data.groupby(“县”)[“日期”].nunique().sort_values()”是按县级行政区域进行分组统计,得出各县级区域的雷暴日数,并按雷暴日数从小到大的顺序输出,可以得出,温江区的雷暴日数最小,为19天,盐源县的雷暴日数最多,为175天。 3.2 雷电个数统计 “count”函数表示统计个数,语句“data.强度.count()”表示对雷电总数进行统计,得出四川省雷电总数为397770次;语句“data[data.强度0].count()”表示对正闪个数

文档评论(0)

科技之佳文库 + 关注
官方认证
文档贡献者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地上海
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档