1. 程式人生 > 程式設計 >Python資料分析庫pandas高階介面dt的使用詳解

Python資料分析庫pandas高階介面dt的使用詳解

Series物件和DataFrame的列資料提供了cat、dt、str三種屬性介面(accessors),分別對應分類資料、日期時間資料和字串資料,通過這幾個介面可以快速實現特定的功能,非常快捷。

今天翻閱pandas官方文件總結了以下幾個常用的api。

1.dt.date 和 dt.normalize(),他們都返回一個日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object型別的,normalize()返回的Series是datetime64型別的。

這裡先簡單建立一個dataframe。

Python資料分析庫pandas高階介面dt的使用詳解

2.dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.week (dt.weekofyear和dt.week一樣)分別返回日期的年、月、日、小時、分、秒及一年中的第幾周

Python資料分析庫pandas高階介面dt的使用詳解

3.dt.weekday(dt.dayofweek一樣)返回一週中的星期幾,0代表星期一,6代表星期天,dt.weekday_name返回星期幾的英文。

Python資料分析庫pandas高階介面dt的使用詳解

4.dt.dayofyear 返回一年的第幾天,dt.quarter得到每個日期分別是第幾個季度。

Python資料分析庫pandas高階介面dt的使用詳解

5.dt.is_month_start和dt.is_month_end 判斷日期是否是每月的第一天或最後一天,可以將month換成year和quarter相應的判斷日期是否是每年或季度的第一天或最後一天.

Python資料分析庫pandas高階介面dt的使用詳解

6.dt.is_leap_year 判斷是否是閏年

Python資料分析庫pandas高階介面dt的使用詳解

7.dt.month_name() 返回月份的英文名稱.

Python資料分析庫pandas高階介面dt的使用詳解

補充知識:pandas字串與時間序列的處理 str 與 dt

一、str屬性

pandas裡的Series有一個str屬性,通個這個屬性可以呼叫一些對字串處理的通用函式,

如:df['road'].str.contains('康莊大道') 會返回字串裡包含'康莊大道'的資料。

二、dt屬性

pandas裡對時間序列的處理,使用dt屬性,如

df['datetime'].dt.time > time(10,0)

兩個series的and比較 是使用 &運算子,如

(df['datetime'].dt.time > time(10,0) ) & (df['datetime'].dt.time < time(12,0)),

返回10點到12點之間的資料。

三、apply 函式示例

df['time'] = df['datetime'].apply(lambda x: x.time())

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。