簡體   English   中英

Python:如何計算當前年份與列的年度之間的差異?

[英]Python: How to calculate Difference btw Current Year and Year from Column?

我有一列“ DateBecameRep_Year”,其中僅包含年份值(即1974、1999等)。 我想在數據框中創建一個新列,以計算當前年份與“ DateBecameRep_Year”字段中年份之間的差額。

以下是我嘗試使用的代碼:

df_DD['DateBecameRep_Year'] = pd.to_datetime(df_DD['DateBecameRep_Year'])

df_DD['Current Year'] = datetime.now().year
df_DD['Current Year'] = pd.to_datetime(df_DD['Current Year'])

df_DD['Years_Since_BecameRep'] = df_DD['Current Year'] - df_DD['DateBecameRep_Year']  
df_DD['Years_Since_BecameRep'] = df_DD['Years_Since_BecameRep'] / np.timedelta64(1, 'Y')

df_DD['Years_Since_BecameRep'].head()

這是我得到的輸出,看起來很奇怪:

在此處輸入圖片說明

我的假設是,這與以下內容有關:

在此處輸入圖片說明

任何幫助是極大的贊賞!

如果只想獲取不同的年份,則可以簡單地使用減法,而無需轉換為日期時間。

import pandas as pd
import datetime
current_year = datetime.datetime.now().year #get current year
df_DD = pd.DataFrame.from_dict({"DateBecameRep_Year":[1999,2000,2015,1898,1788,1854]})
df_DD['Current Year'] = datetime.datetime.now().year
df_DD["Years_Since_BecameRep"] = df_DD['Current Year'] - df_DD['DateBecameRep_Year']  # substract to get the year delta

df_DD將為:

    DateBecameRep_Year  Current Year    Years_Since_BecameRep
0   1999                2017            18
1   2000                2017            17
2   2015                2017            2
3   1898                2017            119
4   1788                2017            229
5   1854                2017            163

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM