【Pandas】簡單在資料表填入nan的方法 並轉化成可以計算的數字:文字取代成nan或空值取代成nan
一、前言
爬下來或讀取進來的資料表(df)常常混雜著文字,導致我們沒辦法發揮pandas運算的強大功能,
此時我們可以暫時先把文字轉為nan值之後再看看如何進行後續處理,
不管是要dropna掉還是進行數字的運算先插入遺失值絕對比裡面放著影響df計算的文字好多了。
進入基本教學前,不要忘了訂閱按讚分享唷!
部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ
二、文字比nan還難處理
沿用這一篇【Python量化資料】用Python抓取臺灣銀行各幣別每日牌告匯率:順便輕鬆計算中間匯率
(https://pixnashpython.pixnet.net/blog/post/48603085)
剛從台銀爬下來的資料,可以發現資料表裡面參雜很多 - (資料型態為文字),
這樣我們進行算就會很麻煩,恨不得他是遺失值(nan)都比較好處理。
因為nan在df裡面至少還可以拿來運算,一定情況下不會報錯,但文字卻會使pandas的運算出現錯誤,而停止編譯。
三、文字轉換為nan值(二步驟文字轉為nan)
簡單分成三步驟,1.把文字取代為nan。2.把nan轉成浮點數(float)
大部分的情況下都可以使用這兩大步驟,先把文字全部取代為nan,
後續把含有nan轉為浮點數,這樣運算起來絕對輕鬆很多。
我們可以使用numpy中的nan方法(numpy.nan)產生出nan值,絕對不要自己打'nan',
而後配合pandas中的replace就可以把文字取代成nan。
後續再使用astype方法把nan轉成浮點數型態的遺失值就大功告成了。
import numpy
df = df.replace('-', numpy.nan) # 步驟1
df = df.astype(float) # 步驟2
四、後記
這絕對是資料處理及網路爬蟲不可或缺的技巧之一,大家要趕快學起來。
部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ
留言列表