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