根据stringsearch删除df的最后一行

我从Excel文件导入,需要删除基于string值的最后一行。

在这种情况下,我需要在第65行的date结束。

最后一个(可预测的)行将是包含string“Net Account”less于5行的行。

是否可以只selectdate格式的行? 不知道哪个是最好的方法来处理这个?

60 2011-08-31 00:00:00 285085 0 0 0 61 2011-09-30 00:00:00 273926 0 0 0 62 2011-10-31 00:00:00 287235 0 0 0 63 2011-11-30 00:00:00 284034 0 0 0 64 2011-12-31 00:00:00 284974 0 0 0 65 2012-01-31 00:00:00 294412 0 0 0 66 NaN NaN NaN NaN NaN 67 58 222613 378197 25000 33350 68 NaN NaN NaN NaN NaN 69 NaN NaN NaN NaN NaN 70 Net Account Loss NaN NaN -92135 NaN 71 NaN NaN NaN NaN NaN 

如果需要删除第一列中没有date时间的所有行,则使用带参数errors='coerce' to_datetime – 它将返回不是datetime的NaT ,通过notnull创build掩码并通过boolean indexing过滤:

 mask = pd.to_datetime(df['date'], errors='coerce').notnull() df = df[mask] print (df) date abcd 60 2011-08-31 00:00:00 285085.0 0.0 0.0 0.0 61 2011-09-30 00:00:00 273926.0 0.0 0.0 0.0 62 2011-10-31 00:00:00 287235.0 0.0 0.0 0.0 63 2011-11-30 00:00:00 284034.0 0.0 0.0 0.0 64 2011-12-31 00:00:00 284974.0 0.0 0.0 0.0 65 2012-01-31 00:00:00 294412.0 0.0 0.0 0.0