日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用pandas处理时间变量

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用pandas处理时间变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 在使用Python進行數據分析時,經常會遇到時間日期格式處理和轉換,特別是分析和挖掘與時間相關的數據。Pandas提供了強大的日期數據處理的功能,下面整理了一些使用pandas處理時間變量的常用技巧。

1.生成時間序列

import pandas as pd import numpy as nprng_day = pd.date_range('1/1/2011', periods=24, freq='D') rng_month=pd.date_range('1/1/2011', periods=24, freq='M')

? pandas主要提供pd.data_range()和pd.period_range()兩個方法,給定參數有起始時間、結束時間、生成時期的數目及時間頻率(freq='M’月,'D’天,‘W’,周,'Y’年)等。

? 兩種主要區別在于pd.date_range()生成的是DatetimeIndex格式的日期序列;pd.period_range()生成的是PeriodIndex格式的日期序列。

2.轉化日期格式
2.1 字符串轉時間
方法一:使用pd.to_datetime()

## 方法一:使用pd.to_datetime() series1=pd.to_datetime(['2020-07-22 20:07:30', '2020.07.23']) series2=pd.to_datetime(['2020-07-22', '2020.07.23']) print(series1) print(series2)

方法二:使用datetime包的strptime方法

datestr = '2020-07-22 20:07:30' date1 = datetime.datetime.strptime(datestr,'%Y-%m-%d %H:%M:%S') print(date1)

? 使用strptime方法時,轉化的格式必須和字符串的格式一樣。見上圖,如果轉換格式不一致將報錯。

datestr = '2020-07-22 20:07:30' date2 = datetime.datetime.strptime(datestr[0:7],'%Y-%m') print(date2)

2.2日期轉字符串

## 利用str或者strftime方法可以將datetime對象轉換成字符串 date = datetime.datetime(2020,7,22,19,59,00) datestr1 = datetime.datetime.strftime(date,'%Y-%m-%d %H:%M:%S') datestr2 = datetime.datetime.strftime(date,'%Y-%m') print(datestr1) print(datestr2)

? 使用strftime方法將日期轉成字符串時,可以調整字符串的格式,并不是需要嚴格對應。

3.日期加減
3.1 日期加一天

date=datetime.date.today() print(datetime.date.today()+datetime.timedelta(days=1))

3.2日期加一個月

## 日期加一個月,需要使用第三方庫 from dateutil.relativedelta import relativedeltadatetime_now = datetime.datetime.now() datetime_three_month_ago = datetime_now + relativedelta(months=+1) print(datetime_three_month_ago)

4.計算日期之差

date_end=datetime.datetime.now() date_start=pd.to_datetime('2020/01/01') date_interval=date_end-date_start print(date_interval) print(f'時間相隔{date_interval.days}天') print(f'時間相隔{date_interval/np.timedelta64(1,"M")}月') print(f'時間相隔{date_interval/np.timedelta64(1,"D")}天') print(f'時間相隔{int(date_interval/np.timedelta64(1,"D"))}天')

【作者】:Labryant
【原創公眾號】:風控獵人
【簡介】:某創業公司策略分析師,積極上進,努力提升。乾坤未定,你我都是黑馬。
【轉載說明】:轉載請說明出處,謝謝合作!~

總結

以上是生活随笔為你收集整理的使用pandas处理时间变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。