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'])