我有一个大约两年的日期数据框架。我正在尝试创建一个新列,用于指示日期是否在当天报告了收入。我怎样才能做到这一点?
DF
Date Stock
2018-02-15 100
.
.
.
2018-04-02 122
2018-04-03 119
2018-04-04 120
我试图查看收入日期然后我厌倦了加入但失败了。
df = pd.DataFrame(columns=["Earnings_Date", "Earnings Reported"],
data=[['05/01/2018','Yes'],['02/15/2018','Yes'],['10/31/2017','Yes'],['08/01/2017','Yes']])
理想情况下,我希望我的DF看起来像
DF
Date Stock Earnings Reported
2018-02-15 100 Yes
.
.
.
2018-04-02 122 No
2018-04-03 119 No
2018-04-04 120 No
答案 0 :(得分:2)
无需加入,合并。只需检查日期是否在Earnings_Date列中。
df['Earnings Report'] = np.where(df['Date'].isin(mydf['Earnings_Date']),'Yes','No')
其中mydf是收益报告数据框,df是原始股票数据框。
Date Stock Earnings Report
0 2018-02-15 100 Yes
1 2018-04-02 122 No
2 2018-04-03 119 No
3 2018-04-04 120 No