boh*_*tti 1 python datetime dataframe pandas
根据两个日期列之间的差异过滤 pandas 数据框的最有效方法是什么?
例如,基于以下数据框:
CADASTRO RESPOSTA EVAL
0 2021-06-01 2021-06-13 y
1 2021-06-01 2021-06-13 y
2 2021-06-01 2021-06-18 y
3 2021-06-01 2021-06-09 n
4 2021-06-01 2021-06-20 n
5 2021-06-01 2021-06-20 n
Run Code Online (Sandbox Code Playgroud)
如何过滤它以仅包含列之间的差异RESPOSTA小于CADASTRO15 天的记录?我尝试了以下方法,但没有成功:
import datetime
filtered_df = df[(df.RESPOSTA - df.CADASTRO).days < 15]
Run Code Online (Sandbox Code Playgroud)
期望的输出是:
CADASTRO RESPOSTA EVAL
0 2021-06-01 2021-06-13 y
1 2021-06-01 2021-06-13 y
3 2021-06-01 2021-06-09 n
Run Code Online (Sandbox Code Playgroud)
通过日期时间访问器访问天数dt
# Ensure DateTime
df['CADASTRO'] = pd.to_datetime(df['CADASTRO'])
df['RESPOSTA'] = pd.to_datetime(df['RESPOSTA'])
# Access Days through dt.days
filtered_df = df[(df.RESPOSTA - df.CADASTRO).dt.days < 15]
Run Code Online (Sandbox Code Playgroud)
filtered_df:
CADASTRO RESPOSTA EVAL
0 2021-06-01 2021-06-13 y
1 2021-06-01 2021-06-13 y
3 2021-06-01 2021-06-09 n
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |