удаление строк, имеющих определенную дату, в столбце дата-время в пандах - PullRequest
0 голосов
/ 28 октября 2019

Мне нужно удалить строки с датой «2019-10-07» в дате первого столбца.

Я создал столбец date1, который извлекает точную дату из первого столбца, а затем применилcode,

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 голосов
/ 28 октября 2019

Вы проверяете равенство строки, даже если ваши значения имеют тип datetime.date. Попробуйте следующее:

df2[df2['date1'] != pd.to_datetime('2019-10-07',format = '%Y-%m-%d').date()]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...