我有一个熊猫数据框,其列如下:
df["Date"]
2015-04-11 00:00:00
2015-03-11 00:00:00
NaN
2014-11-15 00:00:00
its not available
2017-01-27 00:00:00
2016-05-21 00:00:00
was not detected
2015-09-16 00:00:00
incomplete
...
我只想过滤掉那些包含日期的行。
df["Date"]
2015-04-11 00:00:00
2015-03-11 00:00:00
2014-11-15 00:00:00
2017-01-27 00:00:00
2016-05-21 00:00:00
2015-09-16 00:00:00
....
请让我知道是否可以过滤日期。谢谢
答案 0 :(得分:4)
将to_datetime
和errors='coerce'
与notna
一起使用
df=df.loc[pd.to_datetime(df.Date,errors='coerce').notna()].copy()
df
Out[925]:
Date
0 2015-04-11 00:00:00
1 2015-03-11 00:00:00
3 2014-11-15 00:00:00
5 2017-01-27 00:00:00
6 2016-05-21 00:00:00
8 2015-09-16 00:00:00
答案 1 :(得分:1)
我假设是因为它们混合了日期和字符串,所以该列充满了对象,而不是datetime数据类型。您的数据框中没有实际时间吗?如果不是(表示它们都是00:00:00
),则可以对0进行部分字符串搜索。
df[df['Date'].str.contains('00:00:00')]