您可以通过迭代字典中的每个项目来做到这一点,但是在大型数据集中它可能效率低下。
def get_key(data, query):
for key, value in data.items():
if query in value[0][1]:
return key
return 'Not Found'
get_key(dictonary, word)然后,即使您的查找未能找到匹配项,您也可以调用您的函数并返回结果。
# Note i changed the name of the dictionary to dicton, as dict shouldn't be used as a variable name
print(get_key(dicton, 'three'))
print(get_key(dicton, 'seven'))
print(get_key(dicton, 'four'))
#a
#Not Found
#b我有一些 0.2 度和 1 度分辨率的虚拟数据。我想对 foo 进行二次采样,使其与 foo1 的比例相同。有什么简单的方法可以以某种方式平均和重新排列我的经纬度坐标吗?
import pandas as pd
import xarray as xr
import matplotlib.pyplot as plt
#Set at 0.2 degree grids ish
freq=20
lats=240
lons=1020
time=pd.date_range('2000-01',periods=freq,freq='Y')
data=np.random.rand(freq,lats,lons)
lat=np.linspace(-19.5,19.5,lats)
lon=np.linspace(120,290,lons)
foo = xr.DataArray(data, coords=[time, lat,lon], dims=['time', 'lat','lon'])
foo.sel(time='2005',method='nearest').plot()
plt.show()
#Set at 1 degree grids
freq1=20
lats1=40 #Factor of 6 difference
lons1=170
time1=pd.date_range('2000-01',periods=freq1,freq='Y')
data1=np.random.rand(freq1,lats1,lons1)
lat1=np.linspace(-19.5,19.5,lats1)
lon1=np.linspace(120,290,lons1)
foo1 = xr.DataArray(data1, coords=[time1, lat1,lon1], dims=['time', 'lat','lon'])
foo1.sel(time='2005',method='nearest').plot()
plt.show()
慕妹3242003
慕工程0101907
相关分类