python实现气象数据分析统计服_Python气象数据处理进阶之Xarray(4):计算(完结)...

本文介绍了如何使用Python的Xarray库进行气象数据分析,包括基本运算、缺测处理、改变shape的运算、滑动运算、权重运算和聚块计算等,展示了Xarray在数据处理中的强大功能。
摘要由CSDN通过智能技术生成

最近开始忙了。更新的速度会放缓一些,见谅。

这部分主要讲一下Xarray内部的计算函数,可以直接对dataarray进行操作。

还是以举例子的方式来展示。

先创建一个dataarray

import xarray as xr

da = xr.DataArray(np.random.RandomState(0).randn(2, 3),[('x', ['a', 'b']), ('y', [10, 20, 30])])

print(da)

#

#array([[ 1.76405235, 0.40015721, 0.97873798],

# [ 2.2408932 , 1.86755799, -0.97727788]])

#Coordinates:

# * x (x)

# * y (y) int64 10 20 30

ex1 基本运算

首先是基本的加减乘除(以减法为例)

print(da - 3)

#

#array([[-1.23594765, -2.59984279, -2.02126202],

# [-0.7591068 , -1.13244201, -3.97727788]])

#Coordinates:

# * x (x)

# * y (y) int64 10 20 30

同时还支持python自身的一些函数

print(abs(da))

#

#array([[1.76405235, 0.40015721, 0.97873798],

# [2.2408932 , 1.86755799, 0.97727788]])

#Coordinates:

# * x (x)

# * y (y) int64 10 20 30

也支持numpy和scipy的一些计算函数(但并不是所有,很多涉及到维度或者什么的就不能了)

print(np.sin(arr))

#

#array([[ 0.9813841 , 0.38956314, 0.82979374],

# [ 0.78376151, 0.95628847, -0.82897801]])

#Coordinates:

# * x (x)

# * y (y) int64 10 20 30

可以使用where函数进行条件更改

print(xr.where(da > 0, 'positive', 'negative'))

#

#array([['positive', 'positive', 'positive'],

# ['positive', 'positive', 'negative']], dtype='

#Coordinates:

# * x (x)

# * y (y) int64 10 20 30

使用@进行矩阵乘法,使用round进行四舍五入,使用.T数组转置等等。这部分略去代码了,可以自己试验

ex2 缺测处理

这部分是针对缺测的多种处理方法:

首先建立一个带有缺测的dataarray

x = xr.DataArray([0, 1, np.nan, np.nan, 2], dims=['x'])

print(x)

#

#array([ 0., 1., nan, nan, 2.])

#Dimensions without coordinates: x

判断是否缺测,还有notnull()函数

print(x.isnull())

#

#array([False, False, True, True, False])

#Dimensions withou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值