close

【Pandas】資料表內的數字超多位數:round都無法解決嗎?資料表內正常顯示出來超多位數嗎?趕快看過來一招搞定

一、前言

常常遇到資料表(df)裡面的資料超級多位數嗎?明明我就只想要到小數點第二位,

用了df.round進行四捨五入也無法改善嗎?

或在資料表明明是兩位數print出來或轉為文字時又發生一樣的狀況嗎?

還是從資料庫把資料抽出來變成超多位數很煩嗎?

被搞得一個頭兩個大,其實一招就可以解決了。

image

 

進入基本教學前,不要忘了訂閱按讚分享唷!

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

 

 

二、搞清楚各種float及astype


大部分的會使用df.round的方式對df裡面的資料進行四捨五入,

但你卻忘了一件很重要的事情,就是資料表裡面的每個數值是什麼型態。

一開始的型態不對,不管你是df.round或轉成文字還是print出來都會發生悲劇。

import numpy 


df = df.type(float) # float64

df = df.type('float') # float64

df = df.type('float64') # float64

df = df.type('float32') # float32

df = df.type('float16') # float16 正解

這時候要先使用的不是round而是df.astype。

如果你只想顯示兩位數或解決我上述的問題那麼你要先用:

df = df.type('float16') # float16一招就搞定了,

因為你使用32以上的時候,在某些狀況下不管有沒用round他都會去把位元填滿,

導致資料被print出來或轉為文字都會出現數值很醜的強況。

 

 

 

三、後記


這絕對是資料視覺化會遇到的過程...,我之前也被搞很久...

其他更多pandas問題可以到:https://pixnashpython.pixnet.net/blog/category/461784 

找教學或答案,如果找不到也可以留言給我唷!

 

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

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

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

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