Python數據分析庫pandas高級接口dt的使用詳解
Series對象和DataFrame的列數據提供了cat、dt、str三種屬性接口(accessors),分別對應分類數據、日期時間數據和字符串數據,通過這幾個接口可以快速實現特定的功能,非常快捷。
今天翻閱pandas官方文檔總結了以下幾個常用的api。
1.dt.date 和 dt.normalize(),他們都返回一個日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object類型的,normalize()返回的Series是datetime64類型的。
這里先簡單創建一個dataframe。
2.dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.week (dt.weekofyear和dt.week一樣)分別返回日期的年、月、日、小時、分、秒及一年中的第幾周
3.dt.weekday(dt.dayofweek一樣)返回一周中的星期幾,0代表星期一,6代表星期天,dt.weekday_name返回星期幾的英文。
4.dt.dayofyear 返回一年的第幾天,dt.quarter得到每個日期分別是第幾個季度。
5.dt.is_month_start和dt.is_month_end 判斷日期是否是每月的第一天或最后一天,可以將month換成year和quarter相應的判斷日期是否是每年或季度的第一天或最后一天.
6.dt.is_leap_year 判斷是否是閏年
7.dt.month_name() 返回月份的英文名稱.
補充知識: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())
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
