根据多列设置从第一次出现以来的天数

问题描述 投票:0回答:1

我有一个具有这种结构的熊猫数据集:

Date          datetime64[ns]
Events                 int64
Location              object
Day                  float64

我已使用以下代码获取位置“ A”的首次出现日期:

start_date = df[df['Location'] == 'A'][df.Events != 0].iat[0,0]

我现在想用起始日期以来的天数更新起始日期之后的所有记录,其中Day = df.Date-start_date。

我尝试过此代码:

df.loc[df.Location == country, 'Day'] = (df.Date - start_date).days

但是,该代码返回错误:

AttributeError: 'Series' object has no attribute 'days'

问题似乎是代码将df.Date识别为对象而不是日期时间。任何人对导致此问题的原因有任何想法?

python-3.x pandas
1个回答
0
投票

尝试,您需要添加.dt accessor

.dt
© www.soinside.com 2019 - 2024. All rights reserved.