python merge on多个条件_如何根据条件在python中合并?

本文探讨如何在Python中使用pandas库根据特定条件合并数据框。通过示例展示了当数据框的`number`列匹配时,如何利用`pd.merge`函数合并两个数据框。解决方案包括直接指定合并列名和在不同列名情况下使用`left_on`和`right_on`参数。
摘要由CSDN通过智能技术生成

我想知道是否有可能通过给出一个’if’语句来合并两个数据框.

例如

df

number account_name classification

1 name named

2 place partner

3 animal class

4 thing territory

5 dog home

df1

account_name Number country

name 1 xx

place 2 xy

animal 7 yz

dog 8 zx

我正在寻找下面的代码

pd.merge(df,df1, on= 'account_name') if df[number] == df1[number]

结果就像

number account_name classification number Country

1 name named 1 xx

2 place partner 2 xy

我也尝试了lambda函数,代码是

x['nn'] = x.apply(lambda y: pd.merge(df, df1, on = 'account_name') if df[number] == df1[number] else 1, axis=1)

解决方法:

看来您需要在以下参数上添加列:

df = pd.merge(df,df1, on= ['account_name', 'number'])

print (df)

number account_name classifi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值