Python數(shù)據(jù)分析庫(kù)pandas高級(jí)接口dt的使用詳解
Series對(duì)象和DataFrame的列數(shù)據(jù)提供了cat、dt、str三種屬性接口(accessors),分別對(duì)應(yīng)分類數(shù)據(jù)、日期時(shí)間數(shù)據(jù)和字符串?dāng)?shù)據(jù),通過(guò)這幾個(gè)接口可以快速實(shí)現(xiàn)特定的功能,非常快捷。
今天翻閱pandas官方文檔總結(jié)了以下幾個(gè)常用的api。
1.dt.date 和 dt.normalize(),他們都返回一個(gè)日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object類型的,normalize()返回的Series是datetime64類型的。
這里先簡(jiǎn)單創(chuàng)建一個(gè)dataframe。
2.dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.week (dt.weekofyear和dt.week一樣)分別返回日期的年、月、日、小時(shí)、分、秒及一年中的第幾周
3.dt.weekday(dt.dayofweek一樣)返回一周中的星期幾,0代表星期一,6代表星期天,dt.weekday_name返回星期幾的英文。
4.dt.dayofyear 返回一年的第幾天,dt.quarter得到每個(gè)日期分別是第幾個(gè)季度。
5.dt.is_month_start和dt.is_month_end 判斷日期是否是每月的第一天或最后一天,可以將month換成year和quarter相應(yīng)的判斷日期是否是每年或季度的第一天或最后一天.
6.dt.is_leap_year 判斷是否是閏年
7.dt.month_name() 返回月份的英文名稱.
補(bǔ)充知識(shí):pandas字符串與時(shí)間序列的處理 str 與 dt
一、str屬性
pandas里的Series有一個(gè)str屬性,通個(gè)這個(gè)屬性可以調(diào)用一些對(duì)字符串處理的通用函數(shù),
如:df[’road’].str.contains(’康莊大道’) 會(huì)返回字符串里包含’康莊大道’的數(shù)據(jù)。
二、dt屬性
pandas里對(duì)時(shí)間序列的處理,使用dt屬性,如
df[’datetime’].dt.time > time(10,0)
兩個(gè)series的and比較 是使用 &運(yùn)算符,如
(df[’datetime’].dt.time > time(10,0) ) & (df[’datetime’].dt.time < time(12,0)),
返回10點(diǎn)到12點(diǎn)之間的數(shù)據(jù)。
三、apply 函數(shù)示例
df[’time’] = df[’datetime’].apply(lambda x: x.time())
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 解決Android Studio 格式化 Format代碼快捷鍵問(wèn)題2. php解決注冊(cè)并發(fā)問(wèn)題并提高QPS3. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題4. 在Chrome DevTools中調(diào)試JavaScript的實(shí)現(xiàn)5. Springboot 全局日期格式化處理的實(shí)現(xiàn)6. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)7. Java使用Tesseract-Ocr識(shí)別數(shù)字8. vue實(shí)現(xiàn)web在線聊天功能9. JS原生2048小游戲源碼分享(全網(wǎng)最新)10. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼
