Pandas返回在不同列上使用条件行语句的列的值



与以下内容等价的是什么:

import pandas as pd 
x=pd.DataFrame([['a','a','b','c'],[1,2,3,4]],columns=['lets','nums'])
b_nums=x[x['lets']=='b'].loc['nums']

应该返回3我可以做

y=x[x['lets']=='b']
b_nums=y.loc['nums']

我要搜索的值是唯一的但是一定有更有效的方法

对于单个条件:

x[x.lets=='b'].nums.values

对于多个条件中的任何一个:

x[x.lets.isin(["b", "c"])].nums.values

最新更新