python - 如何使用 Pandas 获取两个日期之间的天数

标签 python pandas datetime python-datetime

我正在尝试使用以下函数获取两个日期之间的天数

df['date'] = pd.to_datetime(df.date)

# Creating a function that returns the number of days
def calculate_days(date):
    today = pd.Timestamp('today')
    return today - date

# Apply the function to the column date
df['days'] = df['date'].apply(lambda x: calculate_days(x))
结果看起来像这样

153 days 10:16:46.294037


但我想让它说 153 .我该如何处理?

最佳答案

为了性能,您可以在没有 apply 的情况下减去值为了避免循环使用 Series.rsub 从右侧减去:

df['date'] = pd.to_datetime(df.date)
df['days'] = df['date'].rsub(pd.Timestamp('today')).dt.days
工作方式:
df['days'] = (pd.Timestamp('today') - df['date']).dt.days
如果想使用您的解决方案:
df['date'] = pd.to_datetime(df.date)

def calculate_days(date):
    today = pd.Timestamp('today')
    return (today - date).days

df['days'] = df['date'].apply(lambda x: calculate_days(x))
或者:
df['date'] = pd.to_datetime(df.date)

def calculate_days(date):
    today = pd.Timestamp('today')
    return (today - date)

df['days'] = df['date'].apply(lambda x: calculate_days(x)).dt.days

关于python - 如何使用 Pandas 获取两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65048547/

相关文章:

python - “Unable to locate finder for ' pip._vendor.diSTLib '” 使用"pip install virtualenv"时出错

python - 为什么 Python 标准库的某些模块中有 __version__ 字符串?

python - 在 Python virtualenv 中安装 numpy

python - 从图中删除类型类别的数据

c# - 如何在 C# 中获取月份名称?

python - 如何在 Python 中更改 Windows 代码页?

python - 按另一个索引的顺序对 Pandas Dataframe 进行排序

ruby - 判断 DateTime 是否在当前时间的一小时内

mysql - MySQL 中两个日期时间之间的减号运算符的行为是什么?

python - 聚合 Pandas 数据框