几天过去了,PythonPandas的某个日期

2024-03-29 12:33:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想找一个新的专栏,上面写着某个日期之后的几天。我试过以下方法。。但它给出了错误类型error:unsupported operandom type for-:'日期时间。日期时间'和'日期时间'

import datetime

days_elapsed = []
since_day = datetime.date(2000,11,31)

for i in df.date:
    date = datetime.datetime.strptime(i, "%Y-%m-%d")
    elapsed = (date - since_day).days
    days_elapsed.append(elapsed)

Tags: 方法类型fordatetimedate错误时间error
2条回答

你要减去两种不同类型的约会。你需要有两个约会或者两个约会时间。将since_day更改为日期时间可能更容易。在

since_day = datetime.date(2000,11,31,0,0)

您确实使用了错误的日期类型,但要完成您要做的事情,最常用的方法如下。在

import datetime
import pandas as pd

since_day = pd.Timestamp('2000-11-31')

df['Date'] = pd.to_datetime(df.date) #coerce date column to pandas timestamp
df['elapsed'] = (date - since_day).days

熊猫被设计成与矢量化操作一起工作。尝试并避免对列进行迭代,而是尝试对整个列执行该操作。API将更有意义,您的代码将运行得更快,因为它使pandas能够将计算分派到底层的numpy C机器。在

相关问题 更多 >