如何掌控資料:資料框的操作技巧(下)
進階資料框操作技巧
Tidy datasets are all alike, but every messy dataset is messy in its own way.
Hadley Wickham
在如何掌控資料:資料框的操作技巧(上)之中我們簡介了資料科學團隊常在面對佔據主流地位的表格式資料(Tabular Data)時,於 Python 與 R 語言中以資料框(Data Frame)來進行基礎操作,包含像是建立、檢視與篩選等,這篇文章將繼續專注資料框(Data Frame)的進階操作技巧。
摘要
本文簡介 Python pandas 與 R 語言中的進階資料框操作技巧,包含調整變數的型別、對文字變數重新編碼、對數字重新歸類分組為文字變數、處理遺漏值、處理時間序列、轉置資料框與聯結資料框。
Python pandas
我們使用 pandas 資料框的方法搭配模組中所提供的函數來實踐進階的資料框操作。
調整變數的型別
一個 pandas 資料框的組成有四個層次,如果從下往上(bottom-up)檢視:先是資料,接著同樣型別的資料可以結合成為一個陣列(ndarray),然後陣列加入索引標籤可以成為一個 Series,最後多個 Series 能夠合併為一個資料框。因此如果有變數型別想要調整,只需要從上往下(top-down)檢視:將變數單獨取出成為一個 Series,調整型別之後再指派回資料框的原變數位置即可。以 1995 至 1996 年球季芝加哥公牛隊先發陣容的資料框為例,背號原本是整數型別(int),可以利用 .astype()
方法將其調整成文字(object)。
## int64
## [ 9 23 33 91 13]
## object
## ['9' '23' '33' '91' '13']
對文字變數重新編碼
利用 .map()
方法並輸入一個 dict,在這個 dict 中利用 key-value 的對應關係實現重新編碼,像是輸入球員姓名與鋒衛位置的對應 dict: