Python 3.x 基于多列设置自第一次出现以来的天数

Python 3.x 基于多列设置自第一次出现以来的天数,python-3.x,pandas,Python 3.x,Pandas,我有一个具有以下结构的熊猫数据集: Date datetime64[ns] Events int64 Location object Day float64 我已使用以下代码获取位置“A”的首次出现日期: 现在我想用自开始日期起的天数更新开始日期之后的所有记录,其中Day=df.date-start\u date 我尝试了以下代码: df.loc[df.Location == coun

我有一个具有以下结构的熊猫数据集:

Date          datetime64[ns]
Events                 int64
Location              object
Day                  float64
我已使用以下代码获取位置“A”的首次出现日期:

现在我想用自开始日期起的天数更新开始日期之后的所有记录,其中Day=df.date-start\u date

我尝试了以下代码:

df.loc[df.Location == country, 'Day'] = (df.Date - start_date).days
但是,该代码返回一个错误:

AttributeError: 'Series' object has no attribute 'days'
问题似乎是代码将df.Date识别为一个对象,而不是datetime。有人知道是什么导致了这个问题吗?

试试看,你需要添加


谢谢你,斯科特。这就成功了。非常感谢你的帮助@蒂姆:没问题。快乐编码!您可以使用类似于
df['Day']=np.where(df['Date']>start\u Date,(df.Date-start\u Date).dtdays,df['Day'])
AttributeError: 'Series' object has no attribute 'days'
df.loc[df.Location == country, 'Day'] = (df.Date - start_date).dt.days