溫馨提示×

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

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

python如何將dataframe中的字符串日期轉(zhuǎn)化為日期的方法

發(fā)布時(shí)間:2021-05-24 09:29:26 來(lái)源:億速云 閱讀:1075 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)python如何將dataframe中的字符串日期轉(zhuǎn)化為日期的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

方法一:也是最簡(jiǎn)單的

直接使用pd.to_datetime函數(shù)實(shí)現(xiàn)

data['交易時(shí)間'] = pd.to_datetime(data['交易時(shí)間'])

方法二:

源自利用python進(jìn)行數(shù)據(jù)分析P304

使用python的datetime包中的

strptime函數(shù),datetime.strptime(value,'%Y/%M/%D')

strftime函數(shù),datetime.strftime(‘%Y/%M/%D')

注意使用datetime包中后面的字符串匹配需要和原字符串的格式相同,才能轉(zhuǎn)義過(guò)來(lái),相當(dāng)于yyyy-mm-dd格式的需要按照'%Y-%M-%D'來(lái)實(shí)現(xiàn),而不是'%Y/%M/%D'

data['交易時(shí)間']=data['交易時(shí)間'].apply(lambda x:datetime.strptime(x,'%Y-%m-%d %H:%M:%S'))

注意到上面代碼的'%Y-%m-%d %H:%M:%S'嘛?

這里的格式必須與原數(shù)值的格式一模一樣才能轉(zhuǎn)換,如果原數(shù)值里面是精確到時(shí)分秒的,那么你此處不寫(xiě)%H:%M:%S就沒(méi)辦法轉(zhuǎn)換!!!切記

'''
獲取指定日期的上個(gè)月
日期字符串和日期格式
'''
def getLastMonth(dtstr,dateformat):
 d=datetime.strptime(dtstr, dateformat).date()
 year = d.year
 month = d.month
 if month == 1 :#如果是本年1月的
 month = 12
 year -= 1
 else :#如果是大于1月的
 month -= 1
 return (datetime(year,month,1)).strftime(dateformat)
 
'''
兩個(gè)日期之間相差的月數(shù)
包括開(kāi)始日期和結(jié)束日期的當(dāng)天
日期字符串和日期格式
''' 
def diffMonth(startDate,endDate,dateformat):
 start=datetime.strptime(startDate, dateformat).date()
 end=datetime.strptime(endDate, dateformat).date()
 
 startYear=start.year
 startMonth=start.month
 
 endYear=end.year
 endMonth=end.month
 
 #如果是同年
 if startYear==endYear:
 diffmonths=endMonth-startMonth
 #如果是上年
 elif endYear-startYear==1:
 diffmonths=12+endMonth-startMonth
 #如果是大于1年
 elif endYear-startYear>1:
 years=endYear-startYear
 diffmonths=(years-1)*12+12+endMonth-startMonth
 #如果開(kāi)始日期大約結(jié)束日期報(bào)錯(cuò)
 elif endYear-startYear<0 or( endYear==startYear and endMonth-startMonth):
 print 'enddate must greater than startdate'
 
 return int(diffmonths+1)

Python的優(yōu)點(diǎn)有哪些

1、簡(jiǎn)單易用,與C/C++、Java、C# 等傳統(tǒng)語(yǔ)言相比,Python對(duì)代碼格式的要求沒(méi)有那么嚴(yán)格;2、Python屬于開(kāi)源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^(guò)程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語(yǔ)言,Python寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見(jiàn)功能。

關(guān)于“python如何將dataframe中的字符串日期轉(zhuǎn)化為日期的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(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