如何使用np.where进行日期偏移

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

我的数据框data['date']在下面

0         61-1_1
1         61-1_2
2         61-1_3
3         61-1_4
4         61-1_5

如何使用data['date']=data.date-pd.DateOffset(years=100)应用我的np.where

pandas
1个回答
1
投票

如果要减去今天的所有日期时间来解决您的解决方案,请对data['date']进行较小的更改,而不是data

data['date'] = pd.to_datetime(data['date'], format='%y-%m_%d')
print (data)
        date
0 2061-01-01
1 2061-01-02
2 2061-01-03
3 2061-01-04
4 2061-01-05

current_year = pd.to_datetime('now').year
data['date'] = np.where(data['date'].dt.year > current_year, 
                        data['date'] - pd.DateOffset(years=100), 
                        data['date'])
print (data)
        date
0 1961-01-01
1 1961-01-02
2 1961-01-03
3 1961-01-04
4 1961-01-05
© www.soinside.com 2019 - 2024. All rights reserved.