python - 如何检查日期(手动传递的变量)是否在熊猫数据框列中的给定开始日期和结束日期之间?
问题描述
我需要手动将 2 个日期传递给变量,并且我需要过滤一个 pandas 数据框,其中日期值介于 2 个日期变量之间。
我面临的问题是,数据框中的列是“datetime64 [ns]”类型,但该值仅包含日期(例如:yyyy-mm-dd。没有时间。)并且能够基于过滤在这种情况下,它尝试通过执行以下操作手动将日期传递给变量:
start = np.array(np.datetime64('2020-03-01'))
end = np.array(np.datetime64('2020-03-31'))
然后,我尝试通过执行以下操作来过滤结果:
filter1 = df1['TRANSACTION_DT'] > start
filter2 = df1['TRANSACTION_DT'] < end
df1.where(filter1 & filter2, inplace=True)
但是,当我这样做时,我得到了所有的空值。如何声明 datetime64 变量并手动传递日期以便过滤数据框。
请帮忙!谢谢!
解决方案
您可以将简单的聚类与 & 子句一起使用
import pandas as pd
from datetime import datetime
df = pd.DataFrame({
"date": [datetime(2020,1, 2), datetime(2019, 11, 2), datetime(2018, 1, 2)],
})
df = df[(df['date'] > '2019-10-10') & (df['date'] < '2019-12-01')]
df = pd.DataFrame({
"date": ["2020-01-02", "2019-11-02", "2018-01-02"],
df = df[(df['date'] > '2019-10-10') & (df['date'] < '2019-12-01')]
推荐阅读
- wpf - 从底部旋转边框
- tensorflow - 是否可以为图像具有文本数据的单个类训练 YOLO(任何版本)。(找到方程的区域)
- sql-server - 如何选择表的默认值?
- javascript - 如何在javaScript中添加两个对象二维数组值
- amazon-web-services - 使用 terraform 创建具有多个 IAM 策略的多个 IAM 组
- c# - 是否可以在 Bot Framework (C#) 中集成使用 LUIS 作为识别器的 Composer 自适应对话框?
- vue.js - 添加内容时组件未呈现
- reactjs - 在 redux 中更新状态对象的正确方法 react native
- javascript - 我遇到过的最奇怪的问题。数组在 push 语句之前获取值
- ios - 如何通过网站设置 iOS 共享表的缩略图?