python适合用来进行数据处理吗?

Python020

python适合用来进行数据处理吗?,第1张

可以。

Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。由于他简单、易学、免费开源、可移植性、可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语言近年来的流行趋势,Python受欢迎程度扶摇直上。

由于Python拥有非常丰富的库,使其在数据分析领域也有广泛的应用。由于Python本身有十分广泛的应用,本期Python数据分析路线图主要从数据分析从业人员的角度讲述Python数据分析路线图。整个路线图计划分成16周,120天左右。主要学习内容包括四大部分:

1)Python工作环境及基础语法知识了解(包括正则表达式相关知识学习);

2)数据采集相关知识(python爬虫相关知识);

3)数据分析学习;

4)数据可视化学习。

python很多库支持了对nc格式文件的读取,比如NetCDF4,PyNio(PyNio和PyNgl可以看做是NCL的Python版本)以及Xarray等等。

我最初使用PyNio,但是由于NCL到Python的移植并不完全,导致目前远不如直接使用NCL方便,而在接触Xarray库后,发现其功能强大远超NCL(也可能是我NCL太菜的原因)。

安装同其它库一致:

我这里以一套中国逐日最高温度格点资料(CN05.1)为例,其水平精度为0.5°X0.5°。

可以看到,文件的坐标有时间, 经度,纬度,变量有日最高温

我们将最高温数据取出

这与Linux系统中的ncl_filedump指令看到的信息是类似的

Xarray在读取坐标信息时,自动将时间坐标读取为了datetime64 格式,这对我们挑选目的时间十分方便。Xarray通常与pandas配合使用。

比如我们想选取1979.06.01-1979.06.20时期数据,我们只需

再比如我们想选取夏季数据时,只需

更多的时间操作同python的datetime函数类似。

当我们想选取特定经纬度范围(高度)的数据时,.loc[]函数同样可以解决。

在这里,我选取了40°N-55°N,115°E-135°E范围的数据

甚至,我们还可以套娃,同时叠加时间和范围的选取

这足够满足常用到的数据索引要求。

对于这类简单排列的.txt文件,可以通过np.load读取,用pandas的.read_csv更为方便

读取txt的同时,对每列赋予了一个列名,通过data.a可以直接按列名调用相应数据。

对于较复杂的.txt文件,仍可通过该函数读取

skiprows=5跳过了前5行的文件头,sep='\s+'定义了数据间隔为空格,这里用的是正则表达。

pd.read_csv函数有很多的参数,可以处理各种复杂情况下的文本文件读取。

grib文件可通过pygrib库读取

import pygrib

f = pygrib.open('xxx.grb')

究其原因,主要有以下几点:

①Python的语法简单,代码可读性高,易于上手,有利于初学者学习当我们处理数据时,我们希望使数据数字化并将其转换为计算机可以操作的数字形式。我们可以直接使用一个行列表推导来完成,这非常简单。

②Python在数据分析和交互,探索性计算和数据可视化方面拥有非常成熟的库和活跃的社区,这使Python成为数据任务处理的重要解决方案。在数据处理和分析方面,Python具有numpy,pandas,Matplotlib,scikit-learn,IPython和其他出色的库和工具,尤其是pandas在数据处理方面具有绝对优势。

③Python具有很强的通用编程能力,这与别的编程语言不同。Python不仅在数据分析方面功能强大,而且在爬虫,web,运维甚至游戏等领域也发挥着非常重要的作用。公司只需一项技术即可完成所有服务,这有利于业务整合并可以提高工作效率。

④Python是人工智能的首选编程语言。在人工智能时代,Python已成为最受欢迎的编程语言。得益于Python语法简洁,丰富的库和社区,大多数深度学习框架都优先支持Python语言。