Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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_Dataframe_Filter - Fatal编程技术网

Python 将筛选自列表的值传递给数据帧

Python 将筛选自列表的值传递给数据帧,python,pandas,dataframe,filter,Python,Pandas,Dataframe,Filter,我想把一个值从list放到df列,条件取决于另一列。我尝试了这个,但它抛出了ValueError: terms = [0.02, 0.08, 0.24, 0.5, 1, 2] df['col_1'] = max(list(filter(lambda x: x < df['col_2'], terms))) terms=[0.02,0.08,0.24,0.5,1,2] df['col_1']=max(列表(过滤器(λx:x

我想把一个值从list放到df列,条件取决于另一列。我尝试了这个,但它抛出了
ValueError

terms = [0.02, 0.08, 0.24, 0.5, 1, 2]
df['col_1'] = max(list(filter(lambda x: x < df['col_2'], terms))) 
terms=[0.02,0.08,0.24,0.5,1,2]
df['col_1']=max(列表(过滤器(λx:x
col_1
必须包含最接近
col_2
的小于它的值。对于
0.35
,我想把
0.24


如果没有循环,我如何实现这一点?

这是
merge\u asof

df = pd.DataFrame({'col_2':[0.35]})

pd.merge_asof(df,pd.DataFrame({'col_1':terms}),
              left_on='col_2',
              right_on='col_1')
输出:

   col_2  col_1
0   0.35   0.24

这是
merge\u asof

df = pd.DataFrame({'col_2':[0.35]})

pd.merge_asof(df,pd.DataFrame({'col_1':terms}),
              left_on='col_2',
              right_on='col_1')
输出:

   col_2  col_1
0   0.35   0.24

您可以使用
merge\u asof
解决许多问题。我想知道它背后的思想过程是什么。这只是天才+1.您使用
merge\u asof
解决了很多问题。我想知道它背后的思想过程是什么。这只是天才+1.