我正在尝试根据日期字段筛选数据帧
Date Value
201810 100
201811 150
201812 95
201901 125
201902 150
201903 200
201904 225
过滤是动态进行的。例如,第一个日期和结束日期不应为“硬编码”。 因此,我的方法如下:
month = pd.DataFrame(set(df['Date']),columns=['Date'])
df['Date'] = pd.to_datetime(df['Date'],format='%Y%m)
从这里开始,我必须根据日期进行筛选,并创建一个新的数据框架。这是最后一个日期,比如说201903
dt_first = month['Date'].head(1) <---first date is being dynamically created
dt_last = month.iloc[-2] <-- last date, dynamically created.
df_filter = df[(df.Date.ge(dt_first))&(df.Date.le(dt_last))]
但最后一行是生成一个空白数据帧。生成的数据帧应该如下所示
Date Value
201810 100
201811 150
201812 95
201901 125
201902 150
201903 200
我知道我错过了一些东西
有人能建议如何根据条件有效过滤上述数据帧吗
这里需要通过标量进行比较,因此通过^{} 提取列的第一个和最后一个值:
顺便说一句,如果按
ge
比较排序值中的较大值或相等值与第一个值,它将匹配所有数据,因此此条件始终返回true,因此应使用相同的输出删除:一模一样:
相关问题 更多 >
编程相关推荐