根据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