python - 如何使用熊猫获取两个日期之间的天数
问题描述
我正在尝试使用以下函数获取两个日期之间的天数
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
使用 for Avoid循环的情况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
推荐阅读
- ruby-on-rails - 未从浏览器缓存加载 application.css 文件
- vb.net - OracleDataAdapter,没有命令超时和填充方法挂起
- pandas - 转置后如何调用列?
- python - 无法关闭使用 pdfplumber open() 打开的 pdf 文件
- flutter - 为什么 Dart 中的 const Widget 不相同?
- arrays - 如何将循环和数组与小部件一起使用?扑
- azure-devops - 内部服务器错误 Azure Dev Ops Server 2019
- continuous-integration - 使用 bitbucket 和远程服务器(如数字海洋水滴)自动部署的最佳方法是使用 git 挂钩或管道?
- python - 使用 Python 3 从 post 请求中获取数据
- excel - Excel VBA代码将列标题与单行的相似值合并