influxdb 最近小时统计_用pandas快速统计学生年龄班级等分组信息
生活随笔
收集整理的這篇文章主要介紹了
influxdb 最近小时统计_用pandas快速统计学生年龄班级等分组信息
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近收到一個求助郵件,他的需求如下:
我是小學的一名統(tǒng)計員,因長期做統(tǒng)計工作,近期,自學一點python,但如何把excel中的8位數(shù)出生日期轉成年齡,一直做不好,現(xiàn)請您幫忙一下,不知能否幫!
這個問題其實比較簡單,做出來的最終形式如下:
主要涉及格式轉換和分組統(tǒng)計的需求,那么我們就開始一步一步的完成這一次的任務。
1、讀入excel文件import pandas as pdfile_name = r'學生信息表.xlsx'data = pd.read_excel(file_name)data輸出:讀入數(shù)據(jù)2、處理出生日期,轉化為時間格式這次我們用pandas自帶的to_datetime函數(shù),好用快捷。data['出生日期'] = pd.to_datetime(data['出生日期'],format='%Y%m%d')3、增加一列年齡引入datetime包,根據(jù)當前時間的year減去出生日期得到。import datetime as dtnow = dt.datetime.today().yeardata['周歲'] = now - data['出生日期'].dt.year輸出:新加周歲列
4、對周歲、性別同時分組
熟悉教程的小伙伴知道,這一期的分組內容其實可以用pandas的透視表pivot_table函數(shù)解決。
這次我們就用另一種方法:groupby函數(shù)同樣能搞定。
#開始分組統(tǒng)計age = data.groupby(['周歲','性別'])age_group = age.agg({'學生姓名':'count'}).T輸出:
周歲,性別分組結果
5、如果需要求和數(shù)據(jù)a.我們可以先對所有數(shù)據(jù)進行分組統(tǒng)計一次?b.再單獨對女生數(shù)據(jù)統(tǒng)計一次c.最后把兩次的統(tǒng)計數(shù)據(jù)合并起來合并分組age_single = data.groupby(['周歲'])age_single_group = age_single.agg({'學生姓名':'count'}).Tage_single_group.index = ['合計']僅女生數(shù)據(jù)age_single_female = data[data['性別'] == '女'].groupby(['周歲'])age_single_female_group = age_single_female.agg({'學生姓名':'count'}).Tage_single_female_group.index = ['僅女生']合并數(shù)據(jù)age_union = pd.concat([age_single_group,age_single_female_group],join='outer')age_union.fillna(0)輸出:這樣就完成了年級的分組統(tǒng)計,其他的按年級分組,或者地區(qū)分組也是類似的。是不是一步步寫過來感覺pandas特別好用,特別簡單。
- END -
文源網(wǎng)絡,僅供學習之用,如有侵權,聯(lián)系刪除。往期精彩◆ ?50款開源工具你都用過嗎?
◆ ?python+C、C++混合編程的應用
◆ ?python網(wǎng)絡爬蟲的基本原理詳解
◆ ?Python自動操控excel,一小時解決你一天的工作
◆ ?如何用Python增強Excel,減少處理復雜數(shù)據(jù)的痛苦?
總結
以上是生活随笔為你收集整理的influxdb 最近小时统计_用pandas快速统计学生年龄班级等分组信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS7中yum安装mysql_C
- 下一篇: win7系统提高鼠标指针精确度的方法