Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 返回查找的最小-最大列之间的熊猫_Python_Pandas - Fatal编程技术网

Python 返回查找的最小-最大列之间的熊猫

Python 返回查找的最小-最大列之间的熊猫,python,pandas,Python,Pandas,我看到了一些关于在一个范围内查找单个值的问题,但是我需要在所有行上循环并且更具性能的东西 #我有一些数据集(10k到1m行) values=pd.DataFrame([[“foo”,5],“bar”,15]],columns=[“foobar”,“values”]) #和一个查找表(25行) lookups=pd.DataFrame([[“A1”,0,10],“A2”,10,20]],columns=[“tier”,“min”,“max”]) 我期望的结果是根据值的值以及查找表上的最小值和最大

我看到了一些关于在一个范围内查找单个值的问题,但是我需要在所有行上循环并且更具性能的东西

#我有一些数据集(10k到1m行)
values=pd.DataFrame([[“foo”,5],“bar”,15]],columns=[“foobar”,“values”])
#和一个查找表(25行)
lookups=pd.DataFrame([[“A1”,0,10],“A2”,10,20]],columns=[“tier”,“min”,“max”])
我期望的结果是根据值的值以及查找表上的最小值和最大值范围查找层:

    foobar  values  tier
0      foo       5    A1
1      bar      15    A2
我有一些东西在工作,但它的伸缩性非常差:

def查找(分数):
对于idx,lookups.ItErrors()中的行:

如果行[“min”]这是
pd.cut

values['tier'] = pd.cut(values['values'], 
       bins=list(lookups['min']) + [lookups['max'].iloc[-1]],
       labels=lookups['tier']
      )
输出:

  foobar  values tier
0    foo       5   A1
1    bar      15   A2

这是
pd.cut

values['tier'] = pd.cut(values['values'], 
       bins=list(lookups['min']) + [lookups['max'].iloc[-1]],
       labels=lookups['tier']
      )
输出:

  foobar  values tier
0    foo       5   A1
1    bar      15   A2

谢谢,
pd.cut
不像其他大多数内置软件那样直观地出现在我的脑海中!谢谢,
pd.cut
不像其他大多数内置软件那样直观地出现在我的脑海中!