小编ste*_*eve的帖子

从边界框坐标列表创建形状文件

关于这个主题的现有问题已经很少,但不幸的是我没有找到可以解决我的问题的东西。

我有一个点 Lat,Long 坐标,即 Lat= 10 和 Long = 10。我想围绕这个点创建一个 0.5 度边界框的形状文件,所以边界框应该如下:

  1. 最小多头 = 9.75
  2. 最小纬度 = 9.75
  3. 最大多头 = 10.25
  4. 最大纬度 = 10.25

有谁知道如何在 Python 中做到这一点?

python gis shapefile

4
推荐指数
2
解决办法
3650
查看次数

Python - 双条件 data.loc

我有以下数据框:

Date     Value1   Value2
01-01-01     01       01
02-01-01     02       00
03-01-01     03       01
04-01-01     04      101
Run Code Online (Sandbox Code Playgroud)

在此数据框中,我只想选择具有 Value2==0 and Value2>=100

为此,我使用以下命令:

data.loc[(data['Value2'] == 0) & (data['Value2'] >= 100)]
Run Code Online (Sandbox Code Playgroud)

这给我一个空的 DataFrame。我真的不明白为什么,因为当我单独使用时:

data.loc[(data['Value2'] == 0)]
Run Code Online (Sandbox Code Playgroud)

或者:

data.loc[(data['Value2'] >= 100)
Run Code Online (Sandbox Code Playgroud)

它返回更正后的值。有谁知道如何实现这两个条件选择?

python loc pandas

2
推荐指数
1
解决办法
7589
查看次数

Python - 如何平滑 xarray 图?

我有一些 NetCDF 文件,我需要从中绘制一些变量。我使用以下小代码来绘制我需要的数据:

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
%matplotlib inline
import xarray as xr
os.chdir
fname = "/home/data.nc"
ds = xr.open_dataset(fname)
ds['Evap_obs'].plot()
plt.show()
Run Code Online (Sandbox Code Playgroud)

其工作正常并产生下图:

在此输入图像描述

我现在的问题是这个情节不太可读。因此我希望事先平滑数据。为此我有这个小功能:

def mov_avg(x,window,min_count=None,axis=-1):
    import bottleneck as bn 
    yy=np.ma.filled(np.ma.fix_invalid(x),np.nan)
    yyF=np.ma.masked_all(yy.shape)
    xtmp=bn.move_mean(yy,window,min_count=min_count,axis=axis)
    wd1=(window-1)/2
    ndim = len(yy.shape)
   #print xtmp.shape,ndim,axis,window,wd1
    if ndim ==1 :
   #print wd1,-wd1,wd-1
        yyF[wd1:-wd1]=np.ma.fix_invalid(xtmp[window-1:])

    elif ndim == 2:
        if axis==-1 or axis==1:
            yyF[:,wd1:-wd1]=np.ma.fix_invalid(xtmp[:,window-1:])
        elif axis==0:
            yyF[wd1:-wd1,:]=np.ma.fix_invalid(xtmp[window-1:,:])

    return yyF
Run Code Online (Sandbox Code Playgroud)

然后,当我希望对我的数据运行此函数以使其平滑时,如下所示(使用 7 个时间步长的窗口进行平滑):

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
%matplotlib inline
import xarray as …
Run Code Online (Sandbox Code Playgroud)

python smoothing python-xarray

1
推荐指数
1
解决办法
2676
查看次数

标签 统计

python ×3

gis ×1

loc ×1

pandas ×1

python-xarray ×1

shapefile ×1

smoothing ×1