关于DataFrame通过条件删除多行并重置索引的办法

这个问题折腾了快一个晚上,终于找到了正确的方法。

比如,我想将train_old['month']里为6同时train_old['day']为26的行删除,正确的方法是:

train_old = train_old[~(train_old['month'].isin([6]) & (train_old['day'].isin([26])))]

train_old = train_old.reset_index(drop = True)

注意:

  1. 删除过后,索引未发生改变,所以一定要记得重置索引,不然后续会报缺失索引的错
  2. 不要使用drop去删除多行
  3. isin函数内部记得使用list形式

猜你喜欢

转载自blog.csdn.net/yyhhlancelot/article/details/83999568