python怎么筛选excel数据_【In Action】工具-2-用Excel三分钟才能完成的复杂筛选,python十秒完成...
為什么有的人工作任務越來越多,卻不用加班。同樣的分析到了你的手里,簡直泰山壓頂?“效率”二字要時刻放在心頭。類似的處理做第二遍時就需要反思,有沒有更簡便、省時的方法?
01 分析任務
篩選商品1消費數量大于200 ,商品2消費數量大于200 且 商品1消費數量大于商品2消費數量 的用戶,統計統計該部分用戶商品3,商品4的各自總消費數量和平均消費數量。
數據長這樣:
大部分人:
篩選商品1消費數量 > 200
篩選商品2消費數量 > 200
把篩選結果粘貼的另一張表格
對D列 或 E列排序
手工刪除商品2消費數量小于等于商品1消費數量的行
統計商品3和商品4的總消費數量和平均消費數量
半個小時已過去
部分人:
在Excel加輔助列
寫if公式
根據if公式結果篩選
統計商品3和商品4的總消費數量和平均消費數量
Binggo,3分鐘不到就搞定。嗯,還不錯。
第二天還需要統計一份相似新數據,還是3分鐘。
02 思考
有沒有可能把第二次的3分鐘變成3秒鐘?如果Excel的數據很大,有幾十M,運算一次要卡很久怎么辦?手工敲公式粘數據容易誤操作,有沒有解決的辦法?
當然有,讓我們繼續看如何使用python做數據分析必用的包“pandas”把大象裝進冰箱。
第一步:啟動jupyter notebook,導入pandas。(不會第一步的小小白可以點擊這里查看上一篇帖子)。
多啰嗦一句 as pd 是python引入的pandas包的簡稱,誰都不想每次敲6下鍵盤。
第二步:導入數據并查看
此處注意,我是在存有數據的目錄中打開jupyter Notebook,所以只需要寫文件名data.xlsx即可。
執行第二行后,數據已經存儲在data變量中。
head()函數可以查看前5行。describe()函數可以統計每一列的計數、均值、標準差、最大最小值、以及幾個分位值。
第三步:最重要的一步,在data上做篩選
讓我再次把語句寫一遍
data_filter = data[(data["商品1消費數量"]>200) & (data["商品2消費數量"]>200) & (data["商品1消費數量"]>data["商品2消費數量"])]
等號右邊拆解來看:
data[“商品1消費數量”] > 200 : 含義是data數據中 商品1消費數量 這一列 的篩選條件,注意符號為英文。
& :且,商品1的消費數量大于200 且 商品2的消費數量大于200
多個條件需要用括號括起來,還是那句話“英文符號”
同樣查看一下篩選后的結果“data_filter”
第四步:把結果保存到文件中
可以試試不加index = false的區別
第五步:統計商品3和商品4
注意:此處items存儲了想篩選的列名,data_filter[items] 表示僅取items中存儲的列。
axis = 0代表按列統計。
有的人會問,axis有沒有其他值?有的,axis = 1 代表按行統計。pandas的axis設定會有點繞,目前先記下即可,后續文章會展開講。
03 看效果的時候
當你再次遇到類似的統計,僅需修改導入的文件名,判斷的條件,導出的文件名,然后點擊Cell – Run all。僅需幾秒,結果已出。
一天中至少3分鐘已經被節約下來。時間如此寶貴,生命如此美好,多睡會覺,打打游戲,刷刷劇,不香嗎?
下載示例文件:
鏈接:https://pan.baidu.com/s/1aiK_ObE0VdjmWhPUtQAjZQ
提取碼:d5tg
下一篇文章講用python – pyecharts包畫一些Excel難以企及的統計圖用我的經驗為你鋪路–小數
本文來自投稿,不代表小數-數據分析立場,如若轉載,請注明出處:http://www.dataxx.net.cn/archives/2466
總結
以上是生活随笔為你收集整理的python怎么筛选excel数据_【In Action】工具-2-用Excel三分钟才能完成的复杂筛选,python十秒完成...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习之内核模块编程
- 下一篇: websocket python爬虫_p