Python相对于列的最低值合并

我的df:

df_val
0.1
0.3
0.4
0.7

具有聚类的数据集是:

cl_val cluster
0.2       A
0.5       B
0.8       C

我想加入集群,以便对于df中的每一行,它都匹配到df_val在下面的集群。即第一行(0.1)的最小cl_val小于0.2,因此是簇A。对于第2行(0.3)的最小簇val,它小于是0.5,所以是簇B。例如,我想要的最终结果是:

df_val cluster
0.1       A
0.3       B
0.4       B
0.7       C

有什么想法可以在Python中完成吗?也许使用SQL?