计算复数辐角时报错
代码如下:
import netCDF4 as nc
import numpy as np
from os import listdir
from os.path import join
import xarray as xr
import pandas as pd
import math
from scipy.fftpack import fft,ifft
val = math.pi
#print(val)
path = "D:/ANACONDA1/DATA"
t = []
for filename in listdir(path):
file = join(path,filename)
nc_obj = nc.Dataset(file)
ds = xr.open_dataset(xr.backends.NetCDF4DataStore(nc_obj))
x = ds.cldamt_irtypes[0,0,125:127,103:105]
t.append(x)
#print(t)
data = np.zeros((2,2))
lat = [35.5,36.5]
lon = [103.5,104.5]
foo = xr.DataArray(data,coords=[lat,lon],dims=['lat','lon'])
f = []
p = [1,2,3,4,5,6,7,8]
for i in range(8):
s = foo
for a in range(i,7*8,8):
s = s + t[a]
f.append(s/7)
su = f[0]+f[1]+f[2]+f[3]+f[4]+f[5]+f[6]+f[7]
u = su/8 #平均值
for i in range(8):
si = (f[i]-u)**2
p[i] = f[i]/su
sig = (si/7)**0.5#振幅
cv = sig/u#变异系数
#print(u)
v = 2*val*3*i/24
w = math.exp(v)
print(w)
y = p[i]*w
print(y)
yf = ifft(y)
bs_yf =np.angel(yf)
c = 12/val
print(c)
报错内容如下:
'DataArray' 对象没有 'flags' 属性, 是不是对象用错了,或者安装的模块版本不对
“DataArray' 对象没有 'flags' 属性, 是不是对象用错了,还有检查安装的模块版本。
如果代码没错的话,大概率就是版本不匹配了
切换一下模块版本试一下啊
考虑换一下模块版本或者更新到最新版本试试