欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入了解Python中的時間處理函數(shù)

 更新時間:2021年12月27日 10:18:05   作者:阿黎逸陽  
這篇文章主要是和大家一起探索python中的時間處理函數(shù),讓大家徹底弄懂時間處理。文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

一、datetime模塊介紹

python中處理時間有個datetime模塊,模塊定義了如下幾個類:

  • datetime.date:表示日期的類,常用屬性有year、month、day。
  • datetime.time:表示時間的類,常用屬性有hour、minute、second、microsecond。
  • datetime.datetime:表示日期時間類。
  • datetime.timedelta:表示時間間隔類,即兩個時點之間的長度。
  • datetime.tzinfo:表示時區(qū)的類。

為了大家熟悉上面常用的類,下面介紹一些實例。

1 datetime.date類

#datetime.date類
import datetime

print('1.現(xiàn)在是',datetime.date.today(),'日')
print('2.現(xiàn)在是',datetime.date.today().year,'年')
print('3.現(xiàn)在是',datetime.date.today().month,'月')
print('4.現(xiàn)在是',datetime.date.today().day,'日')

#得到結(jié)果:
1.現(xiàn)在是 2021-10-31 日
2.現(xiàn)在是 2021 年
3.現(xiàn)在是 10 月
4.現(xiàn)在是 31 日

2 datetime.datetime類

#datetime.datetime類
import datetime

print('1.現(xiàn)在是',datetime.datetime.today(),'日')
print('2.現(xiàn)在是',datetime.datetime.today().year,'年')
print('3.現(xiàn)在是',datetime.datetime.today().month,'月')
print('4.現(xiàn)在是',datetime.datetime.today().day,'日')
print('5.現(xiàn)在是',datetime.datetime.today().hour,'時')
print('6.現(xiàn)在是',datetime.datetime.today().minute,'分')
print('7.現(xiàn)在是',datetime.datetime.today().second,'秒')
print('8.現(xiàn)在是',datetime.datetime.today().microsecond,'微秒')

#得到結(jié)果:
1.現(xiàn)在是 2021-10-31 15:55:23.676360 日
2.現(xiàn)在是 2021 年
3.現(xiàn)在是 10 月
4.現(xiàn)在是 31 日
5.現(xiàn)在是 15 時
6.現(xiàn)在是 55 分
7.現(xiàn)在是 23 秒
8.現(xiàn)在是 677333 微秒

3 datetime.timedelta類

#datetime.timedelta類
import datetime

today = datetime.date.today()
yestoday = today + datetime.timedelta(days = -1)
tomorrow = today + datetime.timedelta(days = 1)
print('1.今天是', today,'日')
print('2.昨天是', yestoday,'日')
print('3.明天是', tomorrow,'日')

#得到結(jié)果:
1.今天是 2021-10-31 日
2.昨天是 2021-10-30 日
3.明天是 2021-11-01 日

二、日期轉(zhuǎn)字符

這一小節(jié)介紹把日期轉(zhuǎn)換成字符,主要用到datetime.datetime.strftime函數(shù)。

#dateTime to str
date_time_now = datetime.datetime.now()
str_now1 = datetime.datetime.strftime(date_time_now, '%Y-%m-%d')

print(date_time_now)
str_now1

#得到結(jié)果:
2021-10-31 16:20:45.391792
'2021-10-31'

三、字符轉(zhuǎn)日期

??這一小節(jié)介紹把字符轉(zhuǎn)換成日期,主要用到datetime.datetime.strptime函數(shù)。

#str to date
str_time = '2021-10-21'
date_time = datetime.datetime.strptime(str_time, '%Y-%m-%d').date()
print(date_time)

#得到結(jié)果:
2021-10-21

四、數(shù)值轉(zhuǎn)日期

這一小節(jié)介紹把數(shù)值轉(zhuǎn)換成日期。從excel數(shù)據(jù)表中讀取時間,如果是2021/10/11這種格式,會轉(zhuǎn)變成相應數(shù)值44480。這時需要轉(zhuǎn)換成對應的日期,具體代碼如下:

#num to date
from datetime import datetime
from xlrd import xldate_as_datetime, xldate_as_tuple

num = 44480
datetime(*xldate_as_tuple(num,0)).strftime('%Y-%m-%d')

#得到結(jié)果:
'2021-10-11'

五、時間函數(shù)在催收數(shù)據(jù)處理中的應用

本小節(jié)是應用前面小節(jié)闡述的函數(shù),處理實際工作中遇到的問題。比如有一批信貸催收數(shù)據(jù),由于一個客戶可能電話沒有接通,導致存在多次撥打的可能。我們想分析客戶沒有還錢的真實原因,所以想取客戶最后一次通話,催收員記錄的客戶逾期原因。這時就需要把數(shù)據(jù)集按合同號和撥打電話的時間排序,取最后一次撥打電話的逾期原因。

1 讀取數(shù)據(jù)

首先是讀取數(shù)據(jù),代碼如下:

import pandas as pd
from xlrd import open_workbook

file_name = r'F:\公眾號\43.時間函數(shù)\催記-2021-10-11至2021-10-17.xlsx'
#文件名稱
table = open_workbook(file_name)
#打開文件
sheets_name = table.sheet_names()
#獲取excel中的sheet名
get_sheet1 = table.sheet_by_name('Sheet1')
#獲取Sheet1
data = list()
for i in range(get_each_sheet.nrows):
    col_values = get_sheet1.row_values(i, start_colx=0, end_colx=None)
    data.append(col_values)
data1 = pd.DataFrame(data)
#把Sheet1中的數(shù)據(jù)讀取出來生成數(shù)據(jù)框
data1.columns = data1.iloc[0]
data1 = data1.drop(index=0)
#數(shù)據(jù)框列名確定,并刪除第一行
data2 = data1[['合同號', '姓名', '聯(lián)絡(luò)類型', '聯(lián)絡(luò)類型', '催收時間', '催收內(nèi)容', '催收狀態(tài)', '委案日期']]
#取數(shù)據(jù)框中的固定列

注:如需本文數(shù)據(jù),可直接在公眾號中回復”催收數(shù)據(jù)時間處理”,即可免費獲取。

得到結(jié)果:

2 把催收時間處理成日期格式

接著是處理催收時間變成日期格式,代碼如下:

from datetime import datetime
from xlrd import xldate_as_datetime, xldate_as_tuple

def num_to_date(num_):
    return datetime(*xldate_as_tuple(num_,0)).strftime('%Y-%m-%d')

data2['催收時間'] = data2['催收時間'].apply(num_to_date)
data2.head(2)

得到結(jié)果:

3 取客戶最后一條催收記錄

最后是對數(shù)據(jù)框按合同號和催收時間進行排序,取最后一條催收記錄,代碼如下:

data3 = data2.sort_values(by=['合同號', '催收時間'],ascending=[False, False])
data3 = data3.groupby('合同號',as_index=False).first()

print(data2.shape)
print(data3.shape)

得到結(jié)果:

(1744, 8)

(1455, 8)?

到此這篇關(guān)于深入了解Python中的時間處理函數(shù)的文章就介紹到這了,更多相關(guān)Python時間處理函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 七種Python代碼審查工具推薦

    七種Python代碼審查工具推薦

    這篇文章主要介紹了七種Python代碼審查工具推薦,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • python通過apply使用元祖和列表調(diào)用函數(shù)實例

    python通過apply使用元祖和列表調(diào)用函數(shù)實例

    這篇文章主要介紹了python通過apply使用元祖和列表調(diào)用函數(shù),實例分析了python中apply方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • 解決pip安裝tensorflow中出現(xiàn)的no module named tensorflow.python 問題方法

    解決pip安裝tensorflow中出現(xiàn)的no module named tensorflow.python 問題方法

    這篇文章主要介紹了解決pip安裝tensorflow中出現(xiàn)的no module named tensorflow.python 問題方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Python機器學習應用之基于線性判別模型的分類篇詳解

    Python機器學習應用之基于線性判別模型的分類篇詳解

    線性判別分析(Linear?Discriminant?Analysis,?LDA)是一種監(jiān)督學習的降維方法,也就是說數(shù)據(jù)集的每個樣本是有類別輸出。和之前介紹的機器學習降維之主成分分析(PCA)方法不同,PCA是不考慮樣本類別輸出的無監(jiān)督學習方法
    2022-01-01
  • 13個你可能未使用過的Python特性分享

    13個你可能未使用過的Python特性分享

    Python?是頂級編程語言之一,它具有許多程序員從未使用過的許多隱藏功能。在這篇博客中,將和大家分享一下你可能從未使用過的13?個?Python?特性,感興趣的可以學習一下
    2022-11-11
  • python連接clickhouse的端口問題及解決

    python連接clickhouse的端口問題及解決

    這篇文章主要介紹了python連接clickhouse的端口問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python進程Multiprocessing模塊原理解析

    Python進程Multiprocessing模塊原理解析

    這篇文章主要介紹了Python進程Multiprocessing模塊原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python3基礎(chǔ)之函數(shù)用法

    Python3基礎(chǔ)之函數(shù)用法

    這篇文章主要介紹了Python3的函數(shù)用法,非常重要,需要的朋友可以參考下
    2014-08-08
  • 一行Python3代碼實現(xiàn)解析地址信息

    一行Python3代碼實現(xiàn)解析地址信息

    在日常數(shù)據(jù)處理的過程中,有時候拿到手的是完整的地址信息,如果需要從地址信息中解析出相應的各級行政單元名稱,方式有很多,而今天要介紹的方式只需要一行代碼即可快速實現(xiàn),快跟隨小編一起學習一下吧
    2022-05-05
  • python利用pytesseract 實現(xiàn)本地識別圖片文字

    python利用pytesseract 實現(xiàn)本地識別圖片文字

    這篇文章主要介紹了python利用pytesseract 實現(xiàn)本地識別圖片文字,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12

最新評論