Python 删除日期早于“的行”;“今天”;
我一直在这里和谷歌搜索,发现了很多例子,展示了如何根据一个不移动的日期变量删除旧日期,但却不知道如何根据今天的日期删除数据行。在下面的示例中,我将如何删除比今天日期早的任何内容(应删除一个值),然后保存它?真正的源文件将继续获得新的数据每天,我将需要删除所有早于'今天'日期Python 删除日期早于“的行”;“今天”;,python,pandas,datetime,dataframe,Python,Pandas,Datetime,Dataframe,我一直在这里和谷歌搜索,发现了很多例子,展示了如何根据一个不移动的日期变量删除旧日期,但却不知道如何根据今天的日期删除数据行。在下面的示例中,我将如何删除比今天日期早的任何内容(应删除一个值),然后保存它?真正的源文件将继续获得新的数据每天,我将需要删除所有早于'今天'日期 from datetime import datetime import pandas as pd data = {'date': ['2001-04-10 18:47:05.069722', '2018-05-16 1
from datetime import datetime
import pandas as pd
data = {'date': ['2001-04-10 18:47:05.069722', '2018-05-16 18:47:05.119994', '2018-05-16 18:47:05.178768', '2018-05-16 18:47:05.230071', '2018-05-16 18:47:05.230071', '2018-05-16 18:47:05.280592', '2018-05-16 18:47:05.332662', '2018-05-16 18:47:05.385109', '2018-05-16 18:47:05.436523', '2018-05-16 18:47:05.486877'],
'battle_deaths': [34, 25, 26, 15, 15, 14, 26, 25, 62, 41]}
df = pd.DataFrame(data, columns = ['date', 'battle_deaths'])
熊猫公司不遗余力地让开发者的生活更轻松。比较
到\u datetime('today')
,并相应过滤:
df[pd.to_datetime(df.date, errors='coerce') >= pd.to_datetime('today')]
date battle_deaths
1 2018-05-16 18:47:05.119994 25
2 2018-05-16 18:47:05.178768 26
3 2018-05-16 18:47:05.230071 15
4 2018-05-16 18:47:05.230071 15
5 2018-05-16 18:47:05.280592 14
6 2018-05-16 18:47:05.332662 26
7 2018-05-16 18:47:05.385109 25
8 2018-05-16 18:47:05.436523 62
9 2018-05-16 18:47:05.486877 41
这将删除第0行 这非常有效,但是无法将新更新的数据正确保存为新文件。从pandas导入pandas作为pd从datetime导入ExcelWriter从datetime导入datetime df=pd.read_excel(“location/of/masterfile.xlsx”)df[pd.to_datetime(df.date,errors='concurve')>=pd.to_datetime('today')]writer=ExcelWriter('location/of/newfile.xlsx')df.to_excel(writer,'Sheet1').save()@micdanspe Try
df=df[pd.to_datetime(df.date,errors='concurve')>=pd.to_datetime('today')]
然后保存。
df[pd.to_datetime(df.date, errors='coerce') >= pd.to_datetime('today')]
date battle_deaths
1 2018-05-16 18:47:05.119994 25
2 2018-05-16 18:47:05.178768 26
3 2018-05-16 18:47:05.230071 15
4 2018-05-16 18:47:05.230071 15
5 2018-05-16 18:47:05.280592 14
6 2018-05-16 18:47:05.332662 26
7 2018-05-16 18:47:05.385109 25
8 2018-05-16 18:47:05.436523 62
9 2018-05-16 18:47:05.486877 41