我必须删除第一列日期中日期为“ 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']
将与新数据帧分开应用时,它可以工作。但不在此代码中
答案 0 :(得分:0)
您正在检查字符串是否相等,即使您的值的类型为datetime.date。请尝试以下操作:
df2[df2['date1'] != pd.to_datetime('2019-10-07',format = '%Y-%m-%d').date()]