熊猫删除数据框中不同行的列表

时间:2019-04-23 19:20:11

标签: python pandas

我有日期列表和数据框。我要删除列表中数据框的那些日期。

bad_dates = ['2019-01-24', '2019-01-29'] 
df =              r2POADC     r2DCAC   r2ACPOA  ...   good1    bad  bad1
     2019-01-24  0.931928   0.953512  0.952798  ...   False  False  True
     2019-01-25 -1.681725  -2.163356  0.961674  ...   False  False  True
     2019-01-26 -0.879915  -1.398238  0.911883  ...   False  False  True
     2019-01-28 -1.637134  -0.718831  0.783878  ...   False  False  True
     2019-01-29 -1.839277  -6.368115  0.951883  ...   False  False  True
     2019-01-30 -0.188997  -0.566269  0.919461  ...   False  False  True

我的代码是:

df.drop([bad_dates],axis=0,inplace=True)

我当前的输出是:

KeyError: "[('2019-01-24', '2019-01-29')] not found in axis"

这很有趣,因为两个日期都出现在索引中,但它表示在轴(索引)中都找不到。

我想要以下输出:

 df =              r2POADC     r2DCAC   r2ACPOA  ...   good1    bad  bad1
     2019-01-25 -1.681725  -2.163356  0.961674  ...   False  False  True
     2019-01-26 -0.879915  -1.398238  0.911883  ...   False  False  True
     2019-01-28 -1.637134  -0.718831  0.783878  ...   False  False  True
     2019-01-30 -0.188997  -0.566269  0.919461  ...   False  False  True

看起来像!我的代码中有一个小错误。

1 个答案:

答案 0 :(得分:4)

在处理日期时,pandas大多数时候会隐式将字符串转换为日期。 on onswer handler不过显然是个例外,因此需要显式转换:

execute_on_answer