一、pandas中to_datetime()函數
可以將指定數據轉換爲相應格式的時間類型數據
pandas.to_datetime(arg,format=None,unit=None)
參數 | 含義 |
---|---|
arg | 需要轉換類型的數據 |
format | 所輸入數據的時間格式 |
unit | 最小時間間隔,如’D’代表一天 |
二、函數實例
- 將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]
- 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
- 求時間類型數據的週期
#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)