close

【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的運算出現錯誤,而停止編譯。

image

 

 

三、文字轉換為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


image

 

 

四、後記


這絕對是資料處理及網路爬蟲不可或缺的技巧之一,大家要趕快學起來。

 

 

部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ

arrow
arrow
    創作者介紹
    創作者 恩哥Python 的頭像
    恩哥Python

    恩哥Python量化教室-零基礎也能學會Python

    恩哥Python 發表在 痞客邦 留言(0) 人氣()