我在df1
中有一个日期数据框。
0 03/01/2007
1 16/02/2007
2 16/03/2007
3 20/04/2007
4 18/05/2007
在df2
中,我有一个连续的时间序列(每天)。
Date DailyEquity
1 2007-01-04 0.0
2 2007-01-05 -5.0
3 2007-01-06 0.0
4 2007-01-07 0.0
5 2007-01-08 5.0
由于df2
比df1
长,因此这些是独立的数据帧。
我想在df2
中生成一列,以便如果1
中存在日期,则包含df1
,如果0
是,则包含Date
df1
中不存在。不用编写循环就可以吗?
我知道np.where()
和其他熊猫函数会有所帮助,如果2个数据帧的长度相同。这可能吗?
想要的结果:
Date DailyEquity Column
1 2007-01-04 0.0 0 # <-- "2007-01-04" is not in df1
2 2007-01-05 -5.0 0 # <-- "2007-01-05" is not in df1
3 2007-01-06 0.0 0 # <-- ecc...
4 2007-01-07 0.0 0 # <-- "1" if date is in df1
5 2007-01-08 5.0 0
答案 0 :(得分:1)
使用isin
方法检查列表中是否存在值
df2['Date'].isin(df1['Date']).astype(int)