我的目标是查找df中的值。例如,df:
Name Item Val1 Val2
x i 1 4
x j 2 5
y i 3 6
y j 0 6设a为Val1的值,其中Name = x和Item = j然后是a = 2。
设b是Val2的值,其中Name = z和Item = j如果不存在,则为b = 0。
任何帮助都将不胜感激。:)
我尝试将名称和项设置为索引,然后使用df.loc[('x', 'j'), 'Val1'],但这给我带来了两个问题:它不返回单个值,如果该值不存在,也不会给出0。
发布于 2018-01-29 17:28:07
用try...except编写自己的函数
#df = df.set_index(['Name', 'Item'])
def yourlookup(Name, Item, Var):
try :
return df.loc[(Name, Item), Var]
except:
return 0
yourlookup('x', 'i', 'Val1') # 1
yourlookup('x', 'z', 'Val1') # 0https://stackoverflow.com/questions/48506707
复制相似问题