- 此问题在此处已有答案**:
How do I select rows from a DataFrame based on column values?(16个答案)
3天前关闭。
我正在尝试将一个较旧的df连接起来。(main_df)与较新的(ellicom_df),然后删除制造商与更新的制造商相同但日期不同的所有行。但是,代码删除的行数远远超过了它应该删除的行数。在下面的示例中,旧的main_df有6269行,新的(ellicom_df)有7126,更新后有(正确的)13395,但是在删除后,我在更新后的main_df中只得到3472行,但我应该有7126行。我知道问题出在删除或日期中,但我找不到问题出在哪里
print(ellicom_df.shape)
print(main_df.shape)
(7126,四)(6269,八)
date_=pd.Timestamp('now').date()
ellicom_df['UPDATED'] = date_
ellicom_df['MANUFACTURER']='ELLICOM'
main_df = pd.concat([main_df, ellicom_df], sort=False)
main_df.shape
(13395,九)
main_df.drop(main_df.loc[(main_df['MANUFACTURER']=='ELLICOM') &
(main_df['UPDATED']!=date_)].index, inplace=True)
main_df.shape
(3472,第九条)
下面是df的main_df的一个示例:
1条答案
按热度按时间qjp7pelc1#
为什么不简单地这样过滤: