跳到主要內容

發表文章

目前顯示的是 12月, 2020的文章

python與SAS資料處理入門--條件限制(邏輯判斷)

  運用邏輯判斷進行資料篩選,這也是資料處理中重要的環節。   資料清理時經常會需要篩選或是排除某些條件下的資料,最簡單的例子就是當原始資料的年齡為 0-99 歲時,但所需要用於後續分析的資料只需留下 20-30 歲的數據時,就需要用到邏輯判斷進行資料篩選。 一般在 SAS 上會使用 IF+ 邏輯條件來進行判斷, python 則較為不同,以下分別做示範。   以 SAS 進行邏輯判斷 單一條件,篩選出性別為男性的資料 data id_m; set id; if gender= "M" ; run ; /* 用保留的邏輯判斷留下性別為男性的資料 */ (1) 大小寫:這邊要注意欄位裡面的 coding 方式, 大小寫有差別 ,如果寫成 if gender= "m" ,那這樣不會留下我們想要的資料了。 (2) 文字欄位條件,需要加上 雙引號 。   也可以用排除的方式留下資料 : data id_m; set id; if gender= "F" then delete ; run ; /* 用排除的方式保留資料 */ 這兩種寫法都可以,但是在某些情況下結果會有差異,當我們很確認欄位的 coding 只有 F 跟 M 時,這兩個寫法得到的結果會相同,但如果欄位中有其他 coding 或是 missing value 時,後面的寫法只會將性別 coding 為 F 的資料排除,所以如果裡面包含 missing value 則會一同被留下,所以使用上大家依據需求採用最恰當的寫法。 多重條件,篩選出性別為男性且年齡 <50 的資料 data id_m; set id; if gender= "M" and age< 50 ; run ; 利用 and 或 or 連接多個條件,進行邏輯判斷。 以 Python 進行邏輯判斷 單一條件,篩選出性別為男性的資料 id_m=id_list[id_list["Gender"].isin(["M"])] 不過 pandas 中只有 isin 指令,所以如果是要用排除的方式就必須要繞路執行,先把要做判斷的

使用Tableau 繪製—折線圖 (Line Chart)

  折線圖是最常用來呈現兩個維度的 量化關係 圖表,與長條圖 (bar chart) 最大的不同於,折線圖適用於 連續資料 ,長條圖則是 類別資料 。折線圖可用來傳達趨勢的變化 ( 銷售金額、保險費用、醫療費用 … 等 ) ,將資料點與點之間用線接起來的變化圖。   這次我們還是用醫院服務滿意度資料,變項中多了年代,可比較不同時間點的滿意度圖表。 Step1 : 度量名稱 丟入畫布中,它會自動視為「列」的資料,此時的度量名稱包含門診、急診、住院的滿意度分數,注意這裡的數值為加總後的分數。 Step2 : Year 丟入欄中 。這時候可以看見畫布中的數值,在左邊的畫布中也同時出現折線圖的圖示。 Step3 : 點選折線圖示 。可以看見門診、急診及住院的線條,此線條從 2015~2021 年,但實際上並沒有 2015 及 2021 年的資料,且數值的加總的總和,並非平均值,因此我們下一步需要做調整。 Step4 : 調整圖表內容 。將 Year 修正成 2016~2020 ,可在 X 軸 Year 上按右鍵後,調整年代。同時在列上將門診急診住院調整成平均值,也同時將計數移除。 現在我們完成一張折線圖了,也可以自由調整線的顏色及大小,或是增加參考線等等,因為我們的滿意度每年差異不大,因此較難看出趨折的變化,這也代表每年的滿意度都維持一定的水準,至少皆有 85 分以上。