我有两个长度不相等的 Dataframe 。DF1
| 日期|价格|
| - -----|- -----|
| 2020年12月4日|南|
| 2019 - 04 - 21|三十|
| 2020 - 04 - 18|二十个|
DF2
| 日期|价格|
| - -----|- -----|
| 2020年10月4日|四十|
| 2019 - 04 - 21|三十|
| 2020 - 04 - 18|十一|
| 2020年4月20日|十四|
| 2020年4月22日|七十一|
我想根据日期列提取df 2上df 1价格不匹配的日期。例如,从上面的表格中,我应该得到这个:2020年4月13日。我需要:
- 忽略df 1上不存在所有df 2日期。
- count df 1中存在但df 2中不存在的日期数
由于相同日期的价格在df 1和df 2(20,8)中不匹配df3['Answer'] = np.where(((df1['Date'] == df2['Date']) & (df1['price'] != df2['price'])) , True, False)
但是我得到了这个错误:ValueError:('长度必须匹配才能比较',(4128,),(4715,))
1条答案
按热度按时间gzszwxb41#
通过
DataFrame.merge
使用左连接,通过DataFrame.dropna
删除缺失值的行,添加indicator=True
,因此可以在DataFrame.loc
中筛选日期:如果需要,使用
boolean indexing
过滤所有列: