如何在pandas中删除datetime变量之前的行?
当我尝试在给定日期时间之前选择和删除行时,我的代码返回一个完全空的数据帧。以字符串形式传递日期时间是可行的,但是我需要它是一个基于dataframe的最后一个日期时间值的变量如何在pandas中删除datetime变量之前的行?,pandas,dataframe,datetime,row,drop,Pandas,Dataframe,Datetime,Row,Drop,当我尝试在给定日期时间之前选择和删除行时,我的代码返回一个完全空的数据帧。以字符串形式传递日期时间是可行的,但是我需要它是一个基于dataframe的最后一个日期时间值的变量 In: df_transposed['Interval_Date'] = pd.to_datetime(df_transposed['Interval_Date']) filter_range_begin = str((datetime.now() - timedelta(hours=2)).strftime("
In:
df_transposed['Interval_Date'] = pd.to_datetime(df_transposed['Interval_Date'])
filter_range_begin = str((datetime.now() - timedelta(hours=2)).strftime("%Y-%m-%d %H:%M:%S"))
df_transposed = df_transposed.set_index('Interval_Date')
indexNames = df_transposed[df_transposed.index.get_level_values(0) > filter_range_begin]
Out:
Empty DataFrame
Columns: [0, 1, Label]
Index: []
鉴于:
In:
df_transposed['Interval_Date'] = pd.to_datetime(df_transposed['Interval_Date'])
filter_range_begin = '2020-09-01 02:00:00'
df_transposed = df_transposed.set_index('Interval_Date')
indexNames = df_transposed[df_transposed.index.get_level_values(0) > filter_range_begin]
返回:
Out:
0 1 Label
Interval_Date
2020-09-01 02:15:00 401121 NaN NaN
2020-09-01 02:30:00 815314 NaN NaN
2020-09-01 02:45:00 885369 NaN NaN
我还需要删除任何超出此范围的行
多谢各位
import pandas
from datetime import datetime
df_transposed = df_transposed[df_transposed['Interval_Date'] < datetime.strptime(df_transposed['Interval_Date'].min(),'%Y-%m-%d')]
#You can put the date directly instead of df_transposed['Interval_Date'].min()