我正在尝试使用以下功能获取两个日期之间的天数
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天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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句