2016-08-03 11 views
0

私は連続した米国でデータをグリッド化しており、特定の領域でそのチャンクを選択しようとしています。Pythonで他の2Dグリッドから2Dグリッドをサブセット化するにはどうすればよいですか?

import numpy as np 
from netCDF4 import Dataset 
import matplotlib.pyplot as plt 

filename = '/Users/me/myfile.nc' 
full_data = Dataset(filename,'r') 
latitudes = full_data.variables['latitude'][0,:,:] 
longitudes = full_data.variables['longitude'][0,:,:] 
temperature = full_data.variables['temperature'][0,:,:] 

3つの変数はすべて形状の2次元行列(337,451)です。私は特定の地域のデータのサブ選択を得るために次のことをしようとしています。

私はこれらの変数のすべてが2次元であると期待していますが、それらはすべて形状が(102、)の平坦な配列を返します。私は別のアプローチを試みた:

index2 = np.where((latitudes>=44.0)&(latitudes<=45.0)&(longitudes>=-91.0)&(longitudes<=-89.0)) 
temp = temperatures[index2[0],:] 
temp2 = temp[:,index2[1]] 
plt.imshow(temp2,origin='lower') 
plt.colobar() 

をしかし、私のデータはかなり不正確になります。より大きなグリッドから2Dサブセットグリッドを取得するより良い方法はありますか?

enter image description here

答えて

0

Edub、

私はnumpyのの行列インデックスのドキュメント、特にhttp://docs.scipy.org/doc/numpy-1.10.1/user/basics.indexing.html#other-indexing-optionsで上見て示唆しています。現在、インデックス作成に2つのディメンションを提供していますが、スライス情報はありません(結果として1次元の結果のみが表示されます)。私はこれが役に立つことを願っています!

関連する問題