在對海量資料進行分析的過程中,可能需要對資料中的時間列進行操作。比如乙個資料框中只有借款人的年齡(類似2023年2月8號),我們想把這一列轉換成具體的歲數,放到模型中使用。這屬於特徵工程的一部分,我們該怎麼操作?
在python中自帶了datetime時間處理庫,可以直接匯入:
from datetime import datetime
如果想計算2023年2月1號出生的人現在的年齡,可以在python中輸入如下語句:
datetime.now(
).year-w datetime(
2001,2
,1).year
得到結果如下:
19如果想把資料框中某一年齡列算出它對應的歲數,可以在python中輸入如下語句:
datetime.now(
).year- date_frame.birthday.dt.year
得到結果如下:
如果日期格式是2003-03-13,即年月日都是用-代替的,我們怎麼把-替換成我們熟悉的年月日呢?可以用year、month、day函式把用-表示的時間轉化成我們熟悉的形式。
具體語句如下:
date_frame.birthday.dt.year.
(str)+
'年'+date_frame.birthday.dt.month.
(str)+
'月'+date_frame.birthday.dt.day.
(str)+
'日'
得到結果如下:
]可以用pd.to_datetime函式把字元格式時間轉換成時間格式,具體語句如下:
pd.to_datetime(
['2003-11-3'
,'2002-2-5'
,'2000-5-1'
,'2001-1-1'
,'2002-3-1'
,'2004-2-7'
,'2003-10-9'
,'2002-5-1'
])
得到結果如下:
有時國外學生的生日可能和在我國對應的生日差一天,假設我們要對國外學生的出生日期統一減一天,可以輸入如下**:
from datetime import timedelta
pd.to_datetime(
['2003-11-3'
,'2002-2-5'
,'2000-5-1'
,'2001-1-1'
,'2002-3-1'
,'2004-2-7'
,'2003-10-9'
,'2002-5-1'])
+ timedelta(days =-1
)
得到結果如下:
用python繪製詞雲圖
python人臉識別—我的眼裡只有你
python畫好看的星空圖(唯美的背景)
用python中的py2neo庫操作neo4j,搭建關聯圖譜
python浪漫表白原始碼合集(愛心、玫瑰花、**牆、星空下的告白)
Python資料分析 時間模組datetime
目錄2.日期解析方法dateutil.parser.parse 時間模組主要有 datetime.date datetime.datetime datetime.timedelta date主要用於獲取日期,例如獲取當前日期或者特定日期,獲取的日期可以由str方法直接轉化為字串格式 from dat...
python資料分析筆記 2Pandas基礎
2.dataframe操作 3.pandas匯 計和計算 額外說明 1.python title 方法返回 標題化 的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫 見 istitle 2.python str.format 函式,它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 f...
利用Python進行資料分析 Numpy 基礎
ndarray 多維陣列 ndarray 每個陣列元素必須是相同型別,每個陣列都有shape和dtype物件。shape 表示陣列大小 dtype 表示陣列資料型別 如何建立乙個陣列?in 1 import numpy as np in 2 data 1,2,3,4,5,6,7 in 3 arr n...