Python熊猫是'的替代品;地图';对于2个变量的函数

Python熊猫是'的替代品;地图';对于2个变量的函数,python,pandas,dataframe,Python,Pandas,Dataframe,我想把两个表放在一个表中,即公司公告日期和当天的价格(另一个表上) 我有两个数据帧,包含以下列 df1: date, announcement, ticker date ticker announcement 25/4/2013 AAPL Change in Boardroom 25/4/2013 GOOG OTHERS 25/4/2013 AMZN Change in Audit Committee df2: date, ticker,

我想把两个表放在一个表中,即公司公告日期和当天的价格(另一个表上)

我有两个数据帧,包含以下列

df1: date, announcement, ticker

date        ticker   announcement
25/4/2013   AAPL     Change in Boardroom
25/4/2013   GOOG     OTHERS
25/4/2013   AMZN     Change in Audit Committee

df2: date, ticker, price

date        ticker   announcement
22/3/2012   AAPL     100.00
23/3/2012   AAPL     102.30
24/3/2012   AAPL     105.40
...
...

对于“映射”功能,整个过程需要很长时间。我很想使用apply for df,但我只知道如何使用不包含“if,then”的lambda函数

我想要一个这样的额外专栏:

date        ticker   announcement               price
25/4/2013   AAPL     Change in Boardroom        124.10
25/4/2013   GOOG     OTHERS                     50.85
25/4/2013   AMZN     Change in Audit Committee  102.20
有什么建议可以快速做到这一点吗?或者可以在短时间内做到这一点


感谢并感谢您的帮助

您可以使用
def
而不是
lambda
DataFrame.apply()
创建函数。预先定义它,然后将函数名放在lambda将要去的地方,就像对
map()
所做的一样


应用的函数得到一个
系列
参数,因此您可以得到整行。

我认为您可以使用
'。join'

df.set_index(['date', 'ticker']).join(df2.set_index(['date', 'ticker'])

您能否共享虚拟数据帧和预期输出?这样更容易理解。@MohitMotwani补充道,谢谢你想要最早日期的价格吗?你能回答这个问题而不是一般的问题吗?谢谢
df.set_index(['date', 'ticker']).join(df2.set_index(['date', 'ticker'])