'DataArray' object has no attribute 'flags'

计算复数辐角时报错
代码如下:

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)


报错内容如下:

img

'DataArray' 对象没有 'flags' 属性, 是不是对象用错了,或者安装的模块版本不对

img


这两个包,你有安装吗?

“DataArray' 对象没有 'flags' 属性, 是不是对象用错了,还有检查安装的模块版本。

如果代码没错的话,大概率就是版本不匹配了

切换一下模块版本试一下啊

考虑换一下模块版本或者更新到最新版本试试