今天分享一個python的小實例,結合工作場景,對工作中經常會用到的一些函數進行實操。仔細閱讀哦,適合新手小白的避坑指南~
在本文中,你可以領略到的知識點(坑)包括但不限於:
吼吼,直接上實例!
妥妥的導入各種工具包,numpy, pandas之類的,這步一般不會出錯,略過;
導入文件,工作中我們一般用csv文件,在存儲的時候要存成utf-8格式的csv, 敲黑板哦!如果存錯格式,會有各種報錯。
這是經常會忽略的一步,你會看到上圖中p_date的值都是20201027的樣子,你確定這是int, 還是string還是啥呢? 你不確定,python就會坑你,後面可能會報錯。需要先看一下數據類型, 這一步很重要,不信你試試。
所以你知道了,p_date在這裏是int64,這裏會對未來的計算有點影響哦。
(1) 先分享一個錯誤的方式,你看報錯是說strptime的輸入需要一個str形式,但是這裏提供的是int格式。
(2) 正確方法是先轉換成str格式,再利用日期轉換函數
你看通過astype(str)將p_date轉成string類型後,strptime就不會報錯了。而轉換好的p_date長這樣‘2020-10-28’。
先做一下透視表,看一下每天不同reason(分類)下的new_cnt(某個新增數量)總和。
我們還想加一個比例,看一下各個reason的新增數量佔比,可以這樣寫:
你可以看到,除了ratio, 還附贈了一個ratio_1, 而兩個字段的類型是不同的哦,一個是float, 一個是string, 之後在計算或者畫圖的時候要區分。
想清楚圖形展示的方式,x, y軸,legend分別是啥? 就可以開始畫了~ 我們用pivot_table去實現, x是日期,columns代表legend, values則是y軸對應的數值,之後調用iplot就OK啦~
如果用ratio_1會怎樣? 會報錯啦,因爲ratio_1是string類型,不能聚合呦。
好,到這一步爲止,你已經用python完成了一個簡單的task, 恭喜!