Python數(shù)據(jù)分析庫pandas高級接口dt的使用詳解
Series對象和DataFrame的列數(shù)據(jù)提供了cat、dt、str三種屬性接口(accessors),分別對應(yīng)分類數(shù)據(jù)、日期時間數(shù)據(jù)和字符串數(shù)據(jù),通過這幾個接口可以快速實現(xiàn)特定的功能,非??旖?。
今天翻閱pandas官方文檔總結(jié)了以下幾個常用的api。
1.dt.date 和 dt.normalize(),他們都返回一個日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object類型的,normalize()返回的Series是datetime64類型的。
這里先簡單創(chuàng)建一個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相應(yīng)的判斷日期是否是每年或季度的第一天或最后一天.
6.dt.is_leap_year 判斷是否是閏年
7.dt.month_name() 返回月份的英文名稱.
補充知識:pandas字符串與時間序列的處理 str 與 dt
一、str屬性
pandas里的Series有一個str屬性,通個這個屬性可以調(diào)用一些對字符串處理的通用函數(shù),
如:df['road'].str.contains('康莊大道') 會返回字符串里包含'康莊大道'的數(shù)據(jù)。
二、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點之間的數(shù)據(jù)。
三、apply 函數(shù)示例
df['time'] = df['datetime'].apply(lambda x: x.time())
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python基礎(chǔ)練習(xí)之用戶登錄實現(xiàn)代碼分享
這篇文章主要介紹了Python基礎(chǔ)練習(xí)之用戶登錄實現(xiàn)代碼分享,還是比較不錯的,這里分享給大家,供需要的朋友參考。2017-11-11在pandas中遍歷DataFrame行的實現(xiàn)方法
這篇文章主要介紹了在pandas中遍歷DataFrame行的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python 多個圖同時在不同窗口顯示的實現(xiàn)方法
今天小編就為大家分享一篇Python 多個圖同時在不同窗口顯示的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07講清楚fit_transform()和transform()的區(qū)別及說明
這篇文章主要介紹了講清楚fit_transform()和transform()的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02