我正在使用xarray. 组合多个 netcdf 文件xarray.open_mfdataset。但是我在运行命令时收到错误,下面是命令和错误。
nc_all = xarray.open_mfdataset(files,combine = 'nested', concat_dim="time")
files = glob.glob("/filepath/*")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误 -
Traceback (most recent call last):
File "/home/lsrathore/GLEAM/GLEAM_HPC.py", line 85, in <module>
nc_1980_90 = xarray.open_mfdataset(files[1:11],combine = 'nested', concat_dim="time")
File "/home/lsrathore/.local/lib/python3.9/site-packages/xarray/backends/api.py", line 1038, in open_mfdataset
datasets = [open_(p, **open_kwargs) for p in paths]
File "/home/lsrathore/.local/lib/python3.9/site-packages/xarray/backends/api.py", line 1038, in <listcomp>
datasets = [open_(p, **open_kwargs) for p in paths]
File "/home/lsrathore/.local/lib/python3.9/site-packages/xarray/backends/api.py", line 572, in open_dataset
ds = _dataset_from_backend_dataset(
File "/home/lsrathore/.local/lib/python3.9/site-packages/xarray/backends/api.py", line 367, in _dataset_from_backend_dataset
ds …Run Code Online (Sandbox Code Playgroud) 我有 1000 列的 12 个平均每月值,我想使用 pandas 将数据转换为每日数据。我尝试使用插值来完成此操作,但我得到了从 1991 年 1 月 31 日到 1991 年 12 月 31 日的每日值,这并不涵盖全年。一月份的值没有得到。我使用date_range作为数据框的索引。
date=pd.date_range(start="01/01/1991",end="31/12/1991",freq="M")
upsampled=df.resample("D")
interpolated = upsampled.interpolate(method='linear')
Run Code Online (Sandbox Code Playgroud)
如何获得 365 天的插值?
我正在尝试将 NetCDF 文件从 0.125 度重新网格化到 0.083 度空间尺度。netcdf 包含 224 个纬度和 464 个经度,并且包含一年的每日数据。
我尝试了 xarray 但它产生了这个内存错误:
MemoryError: Unable to allocate 103. GiB for an array with shape (13858233841,) and data type float64
如何使用 python 重新网格化文件?
我想自定义 geopandas 图例上的标签。
fig, ax = plt.subplots(figsize = (8,5))
gdf.plot(column = "WF_CEREAL", ax = ax, legend=True, categorical=True, cmap='YlOrBr',legend_kwds = {"loc":"lower right"}, figsize =(10,6))
Run Code Online (Sandbox Code Playgroud)
添加"labels"并legend_kwds没有帮助。
我尝试通过以下方式添加标签legend_kwds,但没有成功-
legend_kwds = {"loc":"lower right", "labels":["low", "mid", "high", "strong", "severe"]
legend_labels:["low", "mid", "high", "strong", "severe"]
legend_labels=["low", "mid", "high", "strong", "severe"]
我正在使用某人的 Fortran 脚本,我对此进行了一些更改。现在我在执行它时遇到语法错误。我是 Fortran 的新手,所以无法弄清楚。
代码如下:
integer i_canorg
integer i
integer n
integer canorg(n)
real r1demdoms(n)
real r1supdoms(n)
real r1supdomcan(n)
real r1rivout(n)
real r1envflw(n)
if(canorg(i).ne.0)then
i0l_canorg=canorg(i)
call calc_supcan1(i_canorg,r1demdoms(i),r1supdoms(i),r1rivout(i_canorg),r1envflw(i_canorg),r1supdomcan(i))
end if
Run Code Online (Sandbox Code Playgroud)
代码很长,我另外加了if命令和i_canorg参数。
运行代码时出现以下错误:
348 | call calc_supcan1(i0lcanorg,r1demdoms(i),r1supdoms(i),r1rivout(i_canorg),r1envflw(i_canorg),r1supdomcan(i))
| 1
Error: Syntax error in argument list at (1)
Run Code Online (Sandbox Code Playgroud)
此语法错误背后的原因是什么?
我在 jupyter 笔记本中做了一个函数,单元格被删除了。我想知道函数中的代码。我无法使用,undo deleted cell因为它很久以前就被删除了。该函数不会从笔记本内存中删除,因为我可以运行它。有没有办法让代码写在函数内部?
python ×5
netcdf ×2
netcdf4 ×2
fortran ×1
geopandas ×1
legend ×1
matplotlib ×1
pandas ×1
syntax-error ×1