一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 教你怎么用python實現字符串轉日期

教你怎么用python實現字符串轉日期

2021-11-11 10:35小白自留地 Python

今天教各位小伙伴怎么用python實現字符串轉日期,文中有非常詳細的代碼示例,對正在學習python的小伙伴很有幫助,需要的朋友可以參考下

一、生成日期數據

import pandas as pd
pd.date_range( )

同生成隨機數的思想類似,使用pandas庫中的函數

pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False,name=None,close=None,**kwargs)

1.1 設定開始時間、長度、頻率

start_date="20200101"
length=10
date_1=pd.date_range(start=start_date,periods=10).tolist()  #默認freq為D,每天
date_1

教你怎么用python實現字符串轉日期

也可以設置頻率freq=‘M"

date_1=pd.date_range(start=start_date,periods=10,freq="M") 

教你怎么用python實現字符串轉日期

1.2 設定起始、終止時間、頻率

start_date="20200101"
end_date="20200110"
date_2=pd.date_range(start=start_date,end=end_date,freq="D")  #默認為D
date_2

教你怎么用python實現字符串轉日期

頻率freq的設置有:

D --- Day --- 每日
B --- BusinessDay --- 每工作日
H --- Hour --- 每小時
T/min --- Minute ---每分鐘
S --- Second --- 每秒
M --- MonthEnd --- 每月最后一個日歷日
Q --- Quater --- 每季度

注意上面生成的日期數據,就是list格式,在構建數據框時可以直接用。

pd.DataFrame({"Time":date_1})

教你怎么用python實現字符串轉日期

二、字符串轉化為日期

導入數據時常會出現,日期型數據導入后,變成字符串格式,在后續使用時,需要轉化為日期。

構造一個時間數據

date_list1=pd.date_range(start=start_date,periods=gap).strftime("%Y%m%d").tolist()   
num1=np.random.randint(1,101,100)   #生成1-101的隨機整數
num2=np.random.randint(100,201,100)
df_temp=pd.DataFrame({"Time":date_list1,
                     "Number1":num1,
                     "Number2":num2})
df_temp.head()

教你怎么用python實現字符串轉日期

上面數據構造時,為了方便之后舉例子,將生成的時間數據轉化為字符串后,構造的數據框。

2.1 pd.to_datetime()

print(df_temp["Time"].dtype)
print(pd.to_datetime(df_temp["Time"]).dtype)

輸出:

object
datetime64[ns]

pd.datetime這個函數可以直接作用在數據框的列上面,直接轉換。

2.2 datetime.strptime

注意區分:

from datetime import datetime
datetime.strftime() #由日期格式轉化為字符串
datetime.strptime()  #由字符串格式轉化為日期

例子:

print(datetime.strptime("20200101","%Y%m%d"))

print(datetime.strptime("2020-01-01","%Y-%m-%d"))

輸出:

2020-01-01 00:00:00
2020-01-01 00:00:00

但是這個函數只能作用一個值,如果對數據框的列進行操作,需要首先定義一個函數:

from datetime import datetime
def date_ch(value):
    return datetime.strptime(value,"%Y%m%d")

print(date_ch("20200812"))
df_temp["Time"]=df_temp["Time"].apply(date_ch)
df_temp["Time"]

教你怎么用python實現字符串轉日期

三、從日期數據中提取成分

3.1 直接提取:

pd.to_datetime("20200307").month

#year:日
#month:月
#week:周
#day:日

輸出:

3

3.2 使用strftime函數:

pd.to_datetime("20200101").strftime("%Y-%m")

輸出:

‘2020-01"

3.3 字符串切片截取

數據如下:

教你怎么用python實現字符串轉日期

def date_ch(value):
    str_value=value.strftime("%Y-%m-%d")
    month=str_value[5:7]
    return month
df_temp["Time"].apply(date_ch)
#或者
#df_temp["Time"].apply(lambda x:date_ch(x))

教你怎么用python實現字符串轉日期

strftime函數提取日期成分中,日期的標準化格式符號:

%a  星期的簡寫。如 星期三為Web
%A  星期的全寫。如 星期三為Wednesday
%b  月份的簡寫。如4月份為Apr
%B  月份的全寫。如4月份為April 
%c:  日期時間的字符串表示。(如: 05/01/10 09:00:20)
%d:  日在這個月中的天數
%f:  微秒(范圍[0,999999])
%H:  小時(24小時制,[0, 23])
%I:  小時(12小時制,[0, 11])
%j:  日在年中的天數 [001,366]
%m:  月份([01,12])
%M:  分鐘([00,59])
%p:  AM或者PM
%S:  秒(范圍為[00,61])
%U:  周在當年的周數當年的第幾周),星期天作為周的第一天
%w:  今天在這周的天數,范圍為[0, 6],6表示星期天
%W:  周在當年的周數,星期一作為周的第一天
%x:  日期字符串(如:05/01/20)
%X:  時間字符串(如:09:00:20)
%y:  2個數字表示的年份
%Y:  4個數字表示的年份
%z:  與utc時間的間隔 (如果是本地時間,返回空字符串)
%Z:  時區名稱(如果是本地時間,返回空字符串)

到此這篇關于教你怎么用python實現字符串轉日期的文章就介紹到這了,更多相關python字符串轉日期內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_43165880/article/details/117166506

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产综合久久久久 | 热99re国产久热在线 | 香蕉国产人午夜视频在线 | 欧美亚洲国产另类在线观看 | 60岁妇女毛片免费观看 | 国产精品久热 | 好大好硬好紧太深了受不了 | 挺进白嫩老师下面视频 | 国产成人精选免费视频 | 国产成人一区二区三区影院免费 | 成人软件18免费 | 日韩黄色录像 | 美女口述又粗又大感觉 | 午夜DY888国产精品影院 | 成人国产精品一级毛片视频 | 久久青青草视频在线观 | 青青草原国产一区二区 | 久热在线这里只有精品7 | 精品一区二区三区视频日产 | 91素人约啪| 欧美成人香蕉在线观看 | fuqer老师| ange venus与黑人| 日本三级免费看 | 亚洲人成毛片线播放 | 99视频免费在线观看 | 日韩精品亚洲专区在线影视 | 色综七七久久成人影 | 国产在线精品观看 | 波多野结衣作品在线观看 | 午夜伦理yy44008影院 | 美女的让男人桶爽免费看 | 亚洲美日韩 | a黄毛片| 午夜影院免费观看视频 | 成年人免费看的视频 | 国产精品久久久久久久久免费hd | 国产麻豆在线观看网站 | 赤坂丽女医bd无删减在线观看 | 免费日批视频 | 男人添女人 |