Pandas-object字符類型轉時間類型to_datetime()函數

一、pandas中to_datetime()函數

可以將指定數據轉換爲相應格式的時間類型數據
pandas.to_datetime(arg,format=None,unit=None)

參數 含義
arg 需要轉換類型的數據
format 所輸入數據的時間格式
unit 最小時間間隔,如’D’代表一天

二、函數實例

  1. 將dataframe數據框中object型數據轉換爲datetime型數據
#原數據
filedf['pub_date'].head()
>>>
0    10/20/2018 13:48:08
1    10/19/2018 13:52:30
2    10/20/2018 14:53:58
3    10/18/2018 20:01:24
4    10/18/2018 16:58:32
Name: pub_date, dtype: object

#將object型數據轉爲相應類型的datetime64型數據
filedf['pub_date2']=pd.to_datetime(filedf['pub_date'],format='%m/%d/%Y %H:%M:%S')
filedf['pub_date2'].head()
>>>
0   2018-10-20 13:48:08
1   2018-10-19 13:52:30
2   2018-10-20 14:53:58
3   2018-10-18 20:01:24
4   2018-10-18 16:58:32
Name: pub_date2, dtype: datetime64[ns]
  1. datetime型與object型數據相互轉換
    to_datetime():object轉爲datetime
    strftime():datetime轉爲object
#原數據
df = pd.DataFrame({'year': [2015, 2016],'month': [2, 3],'day': [4, 5]})
print(df)
>>>
   year  month  day
0  2015      2    4
1  2016      3    5

#將指定數據轉爲相應類型的datetime64型數據
df['df_time']=pd.to_datetime(df)
print(df)
>>>
   year  month  day    df_time
0  2015      2    4 2015-02-04
1  2016      3    5 2016-03-05

#將時間型轉爲字符型
df_object=df_time.map(lambda x:x.strftime('%Y/%m/%d'))
print(df_object)
>>>
0    2015/02/04
1    2016/03/05
dtype: object
  1. 求時間類型數據的週期
#weekday_name屬性是針對元素級進行操作的,所以這裏利用map函數
df['weekday']=df['df_time'].map(lambda x:x.weekday_name)
print(df)
>>>
   year  month  day    df_time    weekday
0  2015      2    4 2015-02-04  Wednesday
1  2016      3    5 2016-03-05   Saturday

4. 計算程序運行時間

import datetime
 
starttime = datetime.datetime.now()
 #long running
endtime = datetime.datetime.now()
 
print ((endtime - starttime).seconds)

更多常用時間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章