python時間日期數據處理


#導入相關庫
import pandas as pd
import numpy as np
import time
import datetime
import matplotlib.pyplot as plt

# 解決坐標軸刻度負號亂碼
plt.rcParams['axes.unicode_minus'] = False

# 解決中文亂碼問題
plt.rcParams['font.sans-serif'] = ['Simhei']

在計算機中,時間實際上是用數字表示的
我們把1970年1月1日 00:00:00 UTC+00:00時區的時刻稱為 epoch time (紀元),記為0(1970年以前的時間 timestamp 為負數),當前時間就是相對於 epoch time 的秒數,稱為 timestamp(時間戳)
timestamp 的值與時區毫無關系,因為 timestamp 一旦確定,其 UTC 時間就確定了,轉換到任意時區的時間也是完全確定的,這就是為什么計算機存儲的當前時間是以 timestamp 表示的,因為全球各地的計算機在任意時刻的 timestamp 都是完全相同的(假定時間已校准)

python中時間日期數據對應的符號及含義:

類型    描述
%Y    四位的年份
%y    兩位的年份
%m    兩位的月份
%d    兩位的日期號
%H    小時,24小時制00-23
%I    小時,12小時制01-12
%M    兩位的分鍾00-59
%S    秒00-61,其中60,61是閏秒
%w    星期日期0-6,其中0表示星期日
%U    一年中的星期數00-53。以星期天為每周第一天,一年中第一個星期天前的日期作為第“0”周
%W    一年中的星期數00-53。以星期一為每周第一天,一年中第一個星期一前的日期作為第“0”周
%z    格式為+HHMM或者-HHMM的UTC時區偏移;如果沒有時區則為空。
%F    %Y-%m-%d的簡寫
%D    %m/%d/%y的簡寫
  • 1、時間戳 Timestamp 對象的生成

  • 1.1 pd.Timestamp

  • 1.2 pd.to_datetime

  • 1.3 pd.date_range

限制生成時間的數量和間隔:

 限制生成時間的范圍和間隔:

  • 2、日期數據轉化

將不規則的字符串日期,通過人工識別日期元素再寫成 format 模式,然后通過 pd.to_datetime() 來提取時間元素,生成 datetime 對象

  • 2.1 轉化為指定格式:.dt.strftime()

  • 2.2 提取特定的時間單位元素

  • 3、日期索引對象 DatetimeIndex

DatetimeIndex 的主要作用是之一是用作 Pandas 對象的索引,使用它作為索引除了擁有普通索引對象的所有基本功能外,還擁有簡化頻率處理的高級時間序列方法

  • 3.1 索引和切片

  • 3.2 其他方法

可以通過 Timestamp 或 DateTimeIndex 訪問一些時間/日期的屬性

想要查看所有的屬性見官方鏈接:

Time/Date Components (http://pandas.pydata.org/pandas-docs/stable/timeseries.html#time-date-components)

  • 4、DateOffset對象

DateOffset 是做日期偏移的,它的參數與 dateutil.relativedelta 基本相同,工作方式如下

  • 5、重采樣 resample 對象

resample 表示根據日期維度進行數據聚合,可以按照分鍾、小時、工作日、周、月、年等來作為日期維度

更多的日期維度見 Offset Aliases( http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM