python科学计算_科学计算统计?选Python吧

96c21cef82f37dbc77bff8b308860bcf.png

写在前面:因为Grads的无缘无故崩溃,可能是Windows更新的缘故,而对于专业学习中需要经常的可视化分析,所以grads的崩溃真的让我很着急。由于老师在此之前就已经推荐过Python,所以我决定尝试一下。(本文适用于从未了解过Python但需要经常数据分析的人群,加上本人也只是了解不久菜逼,所以大佬现在就可以关闭了。)

1,什么是Python?

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。简单来说:Python就跟Fortran一样是一门计算机语言,用于解决实际问题。

2,为什么是Python?

①,Python因为无数为工作者的努力,形成非常多的库。例如:画图有matplotlib、数组和矩阵计算有numpy,统计分析有scipy......。我们只需要下载对应的库即可实现所需的功能,而对于不需要的功能,我们可以忽略,避免了臃肿。

②,Python使用者多,同时Python的使用者不局限于科研工作者,对于无法解决的问题,我们可以从社区很轻松的找到解决方案。每一位使用者都可能成为你的老师!

3,怎么开始?

作为一名非计算机专业的学生,最害怕的开发环境的配置,往往这是最虐心的部分。对于Python,我们有大名鼎鼎的Anaconda,只需要简单的安装(就跟安装网游一样简单)我们就可以开始使用。那么Anaconda又是什么?这里从百度抄了一段:Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。简单来说就是包含Python本体以及其他附属工具的“加工版Python”。我们只需从Anaconda官网或者清华大学镜像站下载安装包,然后安装即可。需要的注意的是安装的时候建议把添加为环境变量的选项勾上,免去了后面设置的麻烦,特别是不了解什么是环境变量的人。

安装完后打开,界面如图。

2e42ac3fe3fe7f5a97ea385db1e82034.png

看到了那个Spyder了嘛,对于科学计算我们用它就可以解决很多问题了。点击Launch,打开后,界面如图:

57280a94067f2d34a08b5645e9a77672.png

左边是代码编写区,右下角为交互性的ipython界面(一般可以当成草稿纸来用),很像MATLAB对不对?。再次我们就可以正式的开始写代码了。

这里展示对于我极具意义的第一次Python代码:

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt#载入matplotlib绘图模块
from mpl_toolkits.basemap import Basemap#载入地图绘制模块
import numpy as np#载入numpy数组矩阵处理模块
import netCDF4 as nc#载入nc文件读取模块
file = r'C:Users59799DesktopPythonhgtmonmean.nc'#设置文件地址
data = nc.Dataset(file)#读取hgtmonmean.nc中的数据
lat = data.variables['lat']#读取纬度
lon = data.variables['lon']#读取经度
time = data.variables['time']#读取时间维度
level = data.variables['level']#读取等压面维度(也就是z轴)
hgt = data.variables['hgt']#读取位势高度数据
LAT = np.array(lat)#将数据转换为数组,下同
LON = np.array(lon)
TIME = np.array(time)
LEVEL = np.array(level)
HGT = np.array(hgt)
LON_0=LON.mean()#确定经度的中间值,用于规定绘制海岸线图时的地图中心
LAT_0=LAT.mean()
[X,Y] = np.meshgrid(LON,LAT)#形成网格数据
plt.figure(figsize=(20,10))#规定画布大小
c = plt.contourf(X,Y,HGT[200,5,:,:],cmap='OrRd')绘制填充颜色的等压线图
map = Basemap(lon_0=LON_0,lat_0=LAT_0)
map.drawcoastlines()#绘制海岸线
plt.colorbar()#绘制图例

成图如下

0f0007c3ecf522e27ceb783ba9659328.png

4,如何进阶?

首先了解你的工作需要的库,然后登陆库的官网阅读用户手册,就能很好地掌握库的语法和用法。因为我的专业缘故,我的思路是搞清自己需要什么样的功能,至于语法的部分,一般是照葫芦画瓢。

5,补充内容

①,我认为通俗易懂的python教程网站:morvanzhou.github.io

②,nc文件:NetCDF文件是一种科学数据存储格式,广泛用于大气、海洋和地球科学。NetCDF也是一个函数库集合,提供给用户一整套使用和操作该种格式数据的方法。该格式是跨平台的,且可以使用C、Fortran和Matlab等多种语言进行操作。

③,对于nc文件查看,其实还有一个神器,就是Panoply。页面如下图:

41f2e143baf400b3b6a98d3b57e7d199.png

除了查看nc文件各变量的描述,Panoply还可以使用左上角的create plot进行简单的绘图

9ffd9c4831e4b22af9675d2b4c475eea.png

d543cace7d93d6b4bbab14b6031b622f.png

④,本文只是很简单的介绍,针对的是完全不了解的人群,我也只是菜鸡一个,轻喷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值