2017-09-04 74 views
-2

我正在參加一個Kaggle比賽,並且有一列是我希望轉換的列。該列是pandas DataFrame的一部分,格式爲YYYY-MM-DD。這裏是一個小版本的數據框:在python中將日期轉換爲Int

row1, row2, row3, date 
5324, 3452, 2345, 2017-01-01 
131, 3416, 314, 2017-02-01 
45146, 14561, 52, 2017-03-01 
2557, 6731, 24, 2019-11-01 

在這裏,我想保持所有其他列和轉換設置的日期列。另外,我不需要日期。因此,我需要它在YYYYMM

+1

最好的方法是展示一些真實的數據。 –

回答

4

的格式,如果你是日期已經是這樣2016-04-01使用字符串命令int(''.join(s.split('-')[:-1]))

s = '2016-04-01' 
i = int(''.join(s.split('-')[:-1])) 
print(i) #prints 201604 

如果你想一個datetime對象轉換成所需的整數上方,使用這樣

>>> from datetime import datetime 
>>> d = datetime(2016,4,1) 
>>> d 
datetime.datetime(2016, 4, 1, 0, 0) 
>>> int(d.strftime('%Y%m')) 
201604 

然而,最好的辦法日期存儲到一個整數引用作爲Unix的時間戳又名大紀元