Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么在python中不传递属性?_Python 3.x_Numpy_Datetime_Netcdf_Netcdf4 - Fatal编程技术网

Python 3.x 为什么在python中不传递属性?

Python 3.x 为什么在python中不传递属性?,python-3.x,numpy,datetime,netcdf,netcdf4,Python 3.x,Numpy,Datetime,Netcdf,Netcdf4,我编写了一个脚本,从IPCC的netCDF数据集中提取空间和时间子集。下面的脚本工作得很好: import numpy import netCDF4 import datetime drs_name = ['C:\\pr_Amon_MPI-ESM-MR_rcp45_r2i1p1_200601-210012.nc'] cdf_dataset = netCDF4.Dataset(drs_name[0]) cdf_time = cdf_dataset.variables['time']

我编写了一个脚本,从IPCC的netCDF数据集中提取空间和时间子集。下面的脚本工作得很好:

import numpy
import netCDF4
import datetime

drs_name    = ['C:\\pr_Amon_MPI-ESM-MR_rcp45_r2i1p1_200601-210012.nc']
cdf_dataset = netCDF4.Dataset(drs_name[0])
cdf_time    = cdf_dataset.variables['time']

date_start  = 2006
time_start  = datetime.datetime(date_start,1,1,0,0,0)

sbset_time_loindex = netCDF4.date2index(time_start,cdf_time,
                                    calendar = cdf_calendar,
                                    select='nearest') 
来自cdf_数据集的变量“time”具有属性,当我如上所述写入“cdf_time”时,它们会被带到其中。以下是“cdf_时间”的简单打印输出:

属性不随附。以下是此“cdf_时间”版本的打印输出:

基本上是时间值,但没有属性。有人能给我解释一下这个切片“[:]”的效果吗?为什么不进行属性处理


顺便说一句,我对这方面还很陌生,所以不要期望有一段整洁的代码,但我会尽力做我的家庭作业。提前谢谢。

好吧,你自己已经回答了这个问题…
cdf\u数据集。变量['time']
返回一个带有属性的NetCDF4变量,添加
[:]
返回类型是一个Numpy数组,它没有NetCDF变量属性……我通常是如何处理的:从
bla=cdf_dataset.variables['time']
开始,它允许您访问属性,然后写入
bla[:]
如果你想访问数据。谢谢巴特。这正是我想要的答案。我确实四处寻找了一个合适的解释,但没有找到。我相信这应该在netCDF4的文档中找到,但在那里也找不到。好吧,你自己已经回答了这个问题…
cdf_数据集。变量['time']
返回一个带有属性的NetCDF4变量,添加
[:]
,返回类型是一个Numpy数组,它没有NetCDF变量属性……我通常如何处理这个问题:从
bla=cdf_数据集开始。变量['time']
它允许您访问属性,然后写入
bla[:]
如果您想访问数据。谢谢Bart。这正是我想要的答案。我确实四处寻找了适当的解释,但没有找到。我相信这应该在netCDF4的文档中找到,在那里也找不到。
cdf_time is : <class 'netCDF4._netCDF4.Variable'>
float64 time(time)
bounds: time_bnds
units: days since 1850-1-1 00:00:00
calendar: proleptic_gregorian
axis: T
long_name: time
standard_name: time
unlimited dimensions: time
current shape = (1140,)
filling off  
cdf_time    = cdf_dataset.variables['time'][:]
cdf_time is:  [ 56993.5  57023.   57052.5 ...,  91599.5  91630.   91660.5]