Python資料分析 時間列的基本操作

2021-10-11 05:58:30 字數 2251 閱讀 3075

在對海量資料進行分析的過程中,可能需要對資料中的時間列進行操作。比如乙個資料框中只有借款人的年齡(類似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...