久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在Python-DataFrame中如何把出生日期轉(zhuǎn)化為年齡?

 愛因思念l5j0t8 2018-04-10

作者:博觀厚積
 


我們?cè)谧鰯?shù)據(jù)挖掘項(xiàng)目或大數(shù)據(jù)競(jìng)賽時(shí),,如果個(gè)體是人的時(shí)候,,獲得的數(shù)據(jù)中可能有出生日期的Series,舉個(gè)簡(jiǎn)單例子,,比如這樣的一些數(shù):

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


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


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


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


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


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

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


(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來(lái)獲取當(dāng)前日期的年份,,然后將birth數(shù)據(jù)中的年份數(shù)據(jù)提取出來(lái)(frame.birth.dt.year),,兩者相減就得到需要的年齡數(shù)據(jù),如下:



有時(shí)候我們可能還會(huì)關(guān)注到人的出生月份與要預(yù)測(cè)變量的關(guān)系,,比如人的星座就是很流行的一種以出生月份,、日份來(lái)評(píng)估其對(duì)人的影響,也可以按這種方法去提取月,、日數(shù)據(jù),。



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多