我有一个数据集,我需要完全删除在某个日期之前或之后标记的ID。我在这件事上遇到了麻烦。
df =
ID Date Flagged
101 6/4/2023 0
101 7/23/2023 0
102 4/28/2023 1
102 5/2/2023 1
102 6/30/2023 1
102 7/11/2023 1
103 6/23/2023 1
103 7/12/2023 1
104 4/17/2023 0
104 5/12/2023 1
104 6/17/2023 1
104 7/22/2023 1
字符串
我想在2023年5月1日之前删除所有Flagged
的ID。我试过了
today = datetime.datetime.today()
x_days = today - dt(days=90)`
filtered_df = df{(df['Flagged'] == 1) & (df['Date' >= x_days)]
型
当我运行这个程序时,我仍然有我想完全删除的ID。下面是所需的输出:
df =
ID Date Flagged
103 6/23/2023 1
103 7/12/2023 1
104 5/12/2023 1
104 6/17/2023 1
104 7/22/2023 1
型
任何帮助这将是伟大的,谢谢!
3条答案
按热度按时间ohtdti5x1#
试试这个:
字符串
roqulrg32#
首先找到在指定日期之前已标记的任何ID,然后只找到既已标记且不具有其中一个坏ID的值:
字符串
输出量:
型
blmhpbnm3#
使用布尔索引:
字符串