基于两个不同数据框中的多个列创建条件列

时间:2019-12-08 16:59:14

标签: python pandas dataframe

我有两个数据框: df1 df1

和df2

df2

我需要根据df1列中的条件在df1中创建“ Form In”列。如果电视的最小值等于form_col1,则将其最小化,然后将df2.form添加到df1.Form In(新列)中

预期结果是 Result

我尝试过但没有成功

df1['Form In']=df1.apply(lambda x: df2['Form'] if df1['Min of TV'] <= df2['Form_Col1'] else nan)

我收到此错误:

ValueError: ('Can only compare identically-labeled Series objects', 'occurred at index Oper_Dep')

如何根据上述条件创建列?

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用DataFrame.merge将两个Dataframe连接在一起,然后按掩码过滤(似乎有必要将<=更改为>=),并用{{1 }}与DataFrame.drop_duplicates并为Series.map创建Name

Series
相关问题