溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡

發(fā)布時(shí)間:2021-02-25 15:54:51 來源:億速云 閱讀:433 作者:戴恩恩 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡,此處通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:

python是什么意思

Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。

# -*- coding: utf-8 -*-
import pandas as pd
from pandas import Series, DataFrame
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt %matplotlib inline
data = {'birth': ['10/8/00', '7/21/93', '6/14/01', '5/18/99', '1/5/98']}
frame = DataFrame(data)
frame

怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡

從數(shù)據(jù)來看,'10/8/00'之類的數(shù),最左邊的數(shù)表示月份,中間的數(shù)表示日,最后的數(shù)表示年度。

實(shí)際上我們?cè)诜治鰰r(shí)并不需要人的出生日期,而是需要年齡,不同的年齡階段會(huì)有不同的狀態(tài),比如收入、健康、居住條件等等,且能夠很好地把不同樣本的差異性進(jìn)行大范圍的劃分,而不是像出生日期那樣包含信息量過大且在算法訓(xùn)練時(shí)不好作為有效數(shù)據(jù)進(jìn)行訓(xùn)練,age是一個(gè)很好地特征工程指示變量。

那如何把上述birth數(shù)據(jù)變?yōu)槟挲gage呢?

在這里用到datetime這個(gè)庫,如下:

(1)首先把birth轉(zhuǎn)化為標(biāo)準(zhǔn)時(shí)間格式

frame['birth'] = pd.to_datetime(frame['birth'])
frame

怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡 

(2)獲取當(dāng)前時(shí)間的年份,并減去birth的年份

import datetime as dt
now_year =dt.datetime.today().year #當(dāng)前的年份
frame['age']=now_year-frame.birth.dt.year
frame

在這里使用了dt.datetime.today().year來獲取當(dāng)前日期的年份,然后將birth數(shù)據(jù)中的年份數(shù)據(jù)提取出來(frame.birth.dt.year),兩者相減就得到需要的年齡數(shù)據(jù),如下:

怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡

到此這篇關(guān)于怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡的文章就介紹到這了,更多相關(guān)怎么在Python中利用dataframe將出生日期轉(zhuǎn)化為年齡的內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI