删除熊猫中数据框的日期时间列中具有特定日期的行

时间:2019-10-28 15:24:30

标签: python pandas datetime

我必须删除第一列日期中日期为“ 2019-10-07”的行。

我创建了一个date1列,该列从第一列中提取确切的日期,然后应用代码

df2 = df2[df2['date1'] != '2019-10-07']. 

我必须创建此date1列,因为问题中提到了它。 数据框的链接如下:

https://drive.google.com/file/d/1vTKoaQ2rtpup5gPXjmQIavG5v4owNRvk/view?usp=sharing

 import pandas as pd
 import numpy as np
 df2=pd.read_csv('TCS.csv').sort_values(by='Date') 
 date1 = pd.to_datetime(df2['Date'], format='%Y/%m/%d,%H:%M:%S', 
 errors='coerce') #few rows were having a diff date format
 date2 = pd.to_datetime(df2.loc[date1.isna(), 'Date'], format='%d-%m- 
 %Y,%H:%M:%S')
 df2['Date'] = date1.fillna(date2)                    
 df2['date1'] = pd.to_datetime(df2['Date'], format= '%Y/%m/%d').dt.date             
 df2['time1'] = pd.to_datetime(df2['Date'], format= '%Y/%m/%d').dt.time

 df2 = df2[df2['date1'] != '2019-10-07']

代码

df2 = df2[df2['date1'] == '2019-10-07'] 

与新数据帧分开应用时,它可以工作。但不在此代码中

1 个答案:

答案 0 :(得分:0)

您正在检查字符串是否相等,即使您的值的类型为datetime.date。请尝试以下操作:

df2[df2['date1'] != pd.to_datetime('2019-10-07',format = '%Y-%m-%d').date()]