panda 浮點數的列需要保持精度

2022-09-09 15:27:20 字數 1100 閱讀 4561

我們經常需要對有浮點數的列需要保持精度,那麼在pandas中該如何實現呢?這裡提供一種方法,round方法

round常用用法有兩種方式:

1、傳入int,對所有列保持統一精度

.

>>> import numpy as np

>>> import pandas as pd

>>> df = pd.dataframe([(.21, .32), (.01, .6), (.66, .03), (.21, .183)],columns=['dogs', 'cats'])

>>> df

dogs cats

0 0.21 0.320

1 0.01 0.600

2 0.66 0.030

3 0.21 0.183

# 統一保持2位小數

>>> df.round(2)

dogs cats

0 0.21 0.32

1 0.01 0.60

2 0.66 0.03

3 0.21 0.18

# 統一保持一位小數

>>> df.round(1)

dogs cats

0 0.2 0.3

1 0.0 0.6

2 0.7 0.0

3 0.2 0.2

>>>

2、傳入dict,對指定列設定精度,key為列名,value為精度

# 指定列名設定精度,未指定的則保持原樣

>>> df.round()

dogs cats

0 0.21 0.320

1 0.01 0.600

2 0.66 0.030

3 0.21 0.183

# 兩列分別設定不同的精度

>>> df.round()

dogs cats

0 0.21 0.3

1 0.01 0.6

2 0.66 0.0

3 0.21 0.2

浮點數的儲存以及 浮點數的比較

浮點數的儲存採用的是近似的原理 float儲存格式為 s e m 1位符號位 8位指數 23位尾數 轉成數值即為 v 1 s 1.m 2 e 127 對於16.5轉成二進位制為00010000.1 1.00001 2 4,那麼在記憶體的表示為 符號位 指數4 127 131 尾數 0 1000001...

浮點數的儲存

浮點數在計算機中的儲存格式 符號位 指數字 尾數字 符號位 指數字 尾數字 float 1位 8位 23位 共32位 double 1位 11位 52位 共64位 任何浮點數都可表示為 1.m 2e 符號位 sign 表示式中的 0表示正數,1表示負數。指數字 exponent 表示式中的e,指數字...

浮點數的比較

浮點數的比較 在數 算當中經常會涉及到判斷兩個數是否相等的情況 對於整數很好處理 a b這樣的乙個語句就可以解決全部的問題 但是對於浮點數是不同的 首先,浮點數在計算機當中的二進位制表達方式就決定了大多數浮點數都是無法精確的表達的 現在的計算機大部分都是數字計算機,不是模擬機,數字機的離散化的資料表...