Python處理表格日期的常用場景和方法
1. 提取日期
有時(shí)候我們只需要從日期中提取出年、月、日等信息,以便更好地進(jìn)行數(shù)據(jù)分析和可視化??梢允褂?code>dt屬性實(shí)現(xiàn):
# 創(chuàng)建一個(gè)數(shù)據(jù)集
df = pd.DataFrame({'date': ['2019-05-01 10:00:00', '2020-07-12 12:00:00', '2022-08-10 14:00:00'],
'value': [1, 2, 3]})
# 將日期列轉(zhuǎn)化為時(shí)間格式
df['date'] = pd.to_datetime(df['date'])
# 提取年份
df['year'] = df['date'].dt.year
# 提取月份
df['month'] = df['date'].dt.month
# 提取日
df['day'] = df['date'].dt.day
# 輸出數(shù)據(jù)集
print(df)
2. 計(jì)算時(shí)間差
在時(shí)間序列分析中,我們通常需要計(jì)算時(shí)間差,例如兩個(gè)日期之間的天數(shù)、小時(shí)數(shù)等??梢允褂?code>timedelta實(shí)現(xiàn):
# 創(chuàng)建一個(gè)數(shù)據(jù)集
df = pd.DataFrame({'date': ['2019-05-01 10:00:00', '2020-07-12 12:00:00', '2022-08-10 14:00:00'],
'value': [1, 2, 3]})
# 將日期列轉(zhuǎn)化為時(shí)間格式
df['date'] = pd.to_datetime(df['date'])
# 計(jì)算兩個(gè)日期之間的天數(shù)
df['days_diff'] = (df['date'] - df['date'].min()).dt.days
# 計(jì)算兩個(gè)日期之間的月份數(shù)
df['months_diff'] = (df['date'].dt.year - df['date'].min().year) * 12 + (df['date'].dt.month - df['date'].min().month)
# 計(jì)算兩個(gè)日期之間的年份數(shù)
df['years_diff'] = (df['date'].dt.year - df['date'].min().year)
# 輸出數(shù)據(jù)集
print(df)
3. 將日期列設(shè)為索引
在時(shí)間序列分析中,我們通常需要將日期列設(shè)為索引,以便更好地進(jìn)行數(shù)據(jù)分析和可視化??梢允褂?code>set_index()函數(shù)實(shí)現(xiàn):
# 創(chuàng)建一個(gè)數(shù)據(jù)集
df = pd.DataFrame({'date': ['2019-05-01 10:00:00', '2020-07-12 12:00:00', '2022-08-10 14:00:00'],
'value': [1, 2, 3]})
# 將日期列轉(zhuǎn)化為時(shí)間格式
df['date'] = pd.to_datetime(df['date'])
# 將日期列設(shè)為索引
df = df.set_index('date')
# 輸出數(shù)據(jù)集
print(df)
4. dataframe: 日期格式轉(zhuǎn)字符串
可以使用strftime()函數(shù)將日期格式的列轉(zhuǎn)為字符串。
在strftime()函數(shù)中,%Y表示四位數(shù)的年份,%m表示兩位數(shù)的月份,%d表示兩位數(shù)的日期。可以根據(jù)需要進(jìn)行調(diào)整。
下面是一個(gè)使用示例:
#如何使用strftime
# 創(chuàng)建一個(gè)包含日期的dataframe
df = pd.DataFrame({'date': ['2021-10-01', '2021-10-02', '2021-10-03']})
# 將日期列轉(zhuǎn)換為日期格式
df['date'] = pd.to_datetime(df['date'])
# 將日期格式的列轉(zhuǎn)為字符串
df['date'] = df['date'].dt.strftime('%Y-%m-%d')
# 輸出dataframe
print(df)
5. 字符串轉(zhuǎn)日期格式
5.1 dataframe:字符串轉(zhuǎn)日期格式 - pd.to_datetime函數(shù)
pd.to_datetime()函數(shù)是pandas中用于將字符串或者數(shù)字轉(zhuǎn)化為時(shí)間格式的函數(shù)。該函數(shù)通常用于將數(shù)據(jù)集中的時(shí)間列轉(zhuǎn)化為pandas能夠識(shí)別的時(shí)間格式,以便更好地進(jìn)行數(shù)據(jù)分析和時(shí)間序列分析。
下面是使用pd.to_datetime()函數(shù)的一個(gè)例子:
import pandas as pd
# 創(chuàng)建一個(gè)包含日期文本的dataframe
df = pd.DataFrame({'date': ['2021-10-01', '2021-10-02', '2021-10-03']})
# 將日期列轉(zhuǎn)換為日期格式
df['date'] = pd.to_datetime(df['date'])
# 輸出dataframe
print(df)
5.2 dataframe:字符串轉(zhuǎn)日期格式 - strptime
除了pd.to_datetime()函數(shù),還可以使用Python中的datetime模塊中的datetime.strptime()函數(shù)將字符串轉(zhuǎn)為日期格式。
下面是一個(gè)使用datetime.strptime()函數(shù)的例子:
import pandas as pd
from datetime import datetime
# 創(chuàng)建一個(gè)包含日期文本的dataframe
df = pd.DataFrame({'date_str': ['2021-10-01', '2021-10-02', '2021-10-03']})
# 將日期列轉(zhuǎn)換為日期格式
df['date'] = df['date_str'].apply(lambda x: datetime.strptime(x, '%Y-%m-%d'))
# 輸出dataframe
print(df)
在datetime.strptime()函數(shù)中,第一個(gè)參數(shù)是要轉(zhuǎn)換的字符串,第二個(gè)參數(shù)是字符串的格式。例如,%Y表示四位數(shù)的年份,%m表示兩位數(shù)的月份,%d表示兩位數(shù)的日期??梢愿鶕?jù)需要進(jìn)行調(diào)整。
pd.to_datetime()函數(shù)在處理日期時(shí)更加靈活和方便,因此一般情況下建議使用pd.to_datetime()函數(shù)。
到此這篇關(guān)于Python處理表格日期的常用場景和方法的文章就介紹到這了,更多相關(guān)Python處理表格日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
python打印帶時(shí)間的日志實(shí)現(xiàn)代碼
python的logging模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過它存儲(chǔ)各種格式的日志,下面這篇文章主要給大家介紹了關(guān)于python打印帶時(shí)間的日志的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
在Pycharm中設(shè)置默認(rèn)自動(dòng)換行的方法
今天小編就為大家分享一篇在Pycharm中設(shè)置默認(rèn)自動(dòng)換行的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python內(nèi)建數(shù)據(jù)結(jié)構(gòu)詳解
本文給大家匯總介紹了Python中的5種內(nèi)建數(shù)據(jù)結(jié)構(gòu)以及操作示例,非常的詳細(xì),有需要的小伙伴可以參考下。2016-02-02
python的pdb調(diào)試命令的命令整理及實(shí)例
這篇文章主要介紹了python的pdb調(diào)試命令的命令整理及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07
Python2.7+pytesser實(shí)現(xiàn)簡單驗(yàn)證碼的識(shí)別方法
這篇文章主要介紹了Python2.7+pytesser實(shí)現(xiàn)簡單驗(yàn)證碼的識(shí)別方法,簡單分析了pytesser的安裝及Python2.7環(huán)境下實(shí)現(xiàn)驗(yàn)證碼識(shí)別的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12

