您好,登錄后才能下訂單哦!
處理數據的時候遇到一個問題,從數據庫里導出的數據是時分秒的格式:hh:mm:ss ,現在我需要把它轉換成秒,方便計算。
原數據可能分兩種情況,字段有可能是文本字符串類型的,也有可能是時間類型,他們的處理方法不一樣,所以我們分開討論。
1、字符串類型轉換成秒
可以將其用 ‘:' 分隔開,分別得出時、分、秒,即可計算出秒數。所以我們定義如下函數:
def str2sec(x): ''' 字符串時分秒轉換成秒 ''' h, m, s = x.strip().split(':') #.split()函數將其通過':'分隔開,.strip()函數用來除去空格 return int(h)*3600 + int(m)*60 + int(s) #int()函數轉換成整數運算
2、時間類型轉換成秒
本身如果是時間類型的格式,我們可以很方便的使用 python 內置的 datetime 模塊解決問題,我們可以定義以下函數:
def time2sec(y): ''' 時間類型時分秒轉換成秒 ''' h = y.hour #直接用datetime.time模塊內置的方法,得到時、分、秒 m = y.minute s = y.second return int(h)*3600 + int(m)*60 + int(s) #int()函數轉換成整數運算
首先我們導入數據:
import pandas as pd data = pd.read_excel(r"C:\Users\chih-cheng\Desktop\data.xlsx") #導入數據 data.dtypes #查看數據類型
運行結果:
結果發現“工作總時長”字段并不是字符串類型,所以我們使用第二個定義的函數即可解決問題,代碼如下:
data['工作總時長'] = data['工作總時長'].apply(time2sec) #直接將定義好的 time2sec()函數作用于元素即可 print(data)
結果如下:
大功告成。
以上這篇python將時分秒轉換成秒的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。