Pandas中對(duì) 時(shí)間 這個(gè)屬性的處理有非常非常多的操作。
而本文對(duì)其中一個(gè)大家可能比較陌生的方法進(jìn)行講解。其他的我會(huì)陸續(xù)上傳。
應(yīng)用情景是這樣的:考慮到有一個(gè)數(shù)據(jù)集,數(shù)據(jù)集中有用戶注冊(cè)賬號(hào)的時(shí)間(年-月-日),如下圖格式。
如果我們希望對(duì)用戶賬號(hào)注冊(cè)時(shí)間轉(zhuǎn)為具體的天數(shù),我們可以用如下代碼。
import pandas as pd td=data['user_reg_tm'] Time=pd.to_datetime(td) Start=pd.datetime(2016,4,16) day=Start-Time
最后,把天數(shù)插入到原來的表中
data['Day']=day
下面簡(jiǎn)單的說一下一個(gè)時(shí)間的創(chuàng)建一些細(xì)節(jié)。
date=pd.Series(['2016411']) pd.to_datetime(date)
這樣就創(chuàng)建一個(gè)時(shí)間為 2016-4-11的時(shí)間值。
這里有個(gè)細(xì)節(jié),就是字符串里的時(shí)間格式,年月日之間如果沒有分隔,pandas會(huì)自動(dòng)用-號(hào)分開,如果要自己手動(dòng)分隔,例如
date=pd.Series(['2016-4-11'])
這也可以,或者用/號(hào)。但是注意,只能用- 或者/來進(jìn)行分隔,不可使用別的。
有時(shí)候我們還需要有時(shí)分秒的信息。
date=pd.Series(['2016-4-11 12:12:12'])
最后再說下一個(gè)問題,上面我獲得的天數(shù)后我們?cè)趺磫为?dú)取出“天數(shù)”來呢?
很簡(jiǎn)單,用.days來訪問。
對(duì)于 Series類型,用 data.dt.days
對(duì)于?Timedelta類型,可以直接訪問 ?即 data.days。
例如:
因?yàn)閐ata['Day']是Series類型的
data['Day'].dt.days
因?yàn)閐ay是Timedelta類型的
day.days
更新:時(shí)間處理下篇鏈接點(diǎn)擊打開鏈接
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
