python - 熊猫数据框中相应行之间的日期差异
问题描述
以下是示例熊猫数据框的示例。我试图找出两行中日期之间的差异(以第一行为基础):
PH_number date Type
H09879721 2018-05-01 AccountHolder
H09879731 2018-06-22 AccountHolder
如果两个日期之间的差异在 90 天内,则应将这两行添加到新的 pandas 数据框中。该date
列的类型为object
。
我怎样才能做到这一点?
解决方案
使用然后减去给定的date
列转换为datetime64[ns]
数据类型:pd.to_datetime
df['date'] = pd.to_datetime(df['date'])
#if comparing with only 1st row
mask = (df['date']-df.loc[0,'date']).dt.days<=90
# alternative mask = (df['date']-df.loc[0,'date']).dt.days.le(90)
#if comparing with immediate rows.
mask = df['date'].diff().dt.days<=90
# alternative mask = df['date'].diff().dt.days.le(90)
df1 = df.loc[mask,:] #gives you required rows with all columns
推荐阅读
- emulation - 使用 Micro Focus Reflection 连接 IBM 终端
- r - ggplotly 不显示具有无限值的条形图
- php - 如何在php中显示带有列名的json数据
- python - 根据行中的值选择列
- entity-framework-core - 指定表名的不同方式
- android - 如何将 Firebase Cloud Firestore 引用与干净的代码一起使用?
- java - 如何读取大文件以分块并处理它
- gradle - Gradle Liquibase 集成
- angular - LocalNotification - 如何使用它?
- ruby-on-rails - 在 Rails 中为 form_tag 添加命名空间