私は現在、海洋モデルのCCとCIを作成するためにpythonを使用するプロジェクトに取り組んでいます。私はmpl_toolkits.basemapからの補間を使用しました。ここに私の次のコードは次のとおりです。プロパティを失うことなくnumpy配列の3Dリストを変換する方法
sal_arr=[]
for k in xrange(len(depth)):
salty=data.variables['salt'][k,:,:]
salt=mp.interp(salty,lon,lat,lon_rho,lat_rho,checkbounds=False,masked=False,order=1)
sal_arr.append(salt)
私はリストに私の補間データを取得すると、私は(私の結果の一部)だ:
masked_array(data =
[[-- -- -- ..., -- -- --]
[-- -- -- ..., -- -- --]
[-- -- -- ..., -- -- --]
...,
[-- -- -- ..., -- -- --]
[-- -- -- ..., -- -- --]
[-- -- -- ..., -- -- --]],
mask =
[[ True True True ..., True True True]
[ True True True ..., True True True]
[ True True True ..., True True True]
...,
[ True True True ..., True True True]
[ True True True ..., True True True]
[ True True True ..., True True True]],
fill_value = -9.99e+33)
しかし、私はNPを使用してnumpyの配列に変換するとき.asarray機能、それはへのデータの形式を変更することが判明した:
array([[[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
...,
[ 35.85155781, 35.82556325, 35.7995687 , ..., 0. ,
0. , 0. ],
[ 35.86569978, 35.84589233, 35.82608487, ..., 0. ,
0. , 0. ],
[ 35.88255757, 35.87000866, 35.85745976, ..., 0. ,
0. , 0. ]]
そして、私が使用してそれをプロットするとき、それはOKだったので、私は理解できない私の補間では、いくつかのノイズを作成するために起こります私の唇からのデータt。また、私は関数を使用しようとしました:
np.ma.masked_where
しかしあまり助けになりません。誰かが私に別の方向を示唆することができたら、私はそれを感謝します。
は、マスクされた配列は、2つの属性、「データ」列と「マスク」の配列を持っているあなたに
私はまた、np.ma.masked_outsideを使用しようとしました。 Idkまだ、私はそれを試してみましょう、ありがとう。 interp関数の詳細を読んでいきます。 – moehbon
はい、その 'masked'パラメータを試してみてください。 'checked'でもあるかもしれません。 'salty'値のいくつかを表示する必要があるかもしれません。それはマスクされていますか? – hpaulj