python保留整數部分
發布時間: 2024-06-24 17:43:34
『壹』 python中要使一個浮點變為整數需要什麼函數強制代換
這可以分兩種情況分析:
1
如果直接丟棄小數部分,只保留整數部分的話,可以使用int函數。
2
如果要求小數部分對整數部分有進位,可以使用round函數。
下面是一個例子:
print(int(12.3),int(12.4))
print(int(12.5),int(12.6))
print(int(12.7),int(12.8))
print(round(12.3))
print(round(12.4))
print(round(12.5))
print(round(12.6))
print(round(12.7))
print(round(12.8))
『貳』 python 整列數據怎麼四捨五入保留整數
df.列名 = df.列名.apply(lambda x: round(x,0))
出來的結果數字會帶.0,如果要去掉,則可以用
df.列名 = df.列名.apply(lambda x: int(x))
『叄』 python 為什麼算除法自動取整了。如圖,計算10/a 自動保留到整數了。
在2.x版本都是這樣,會自動取整。
在3.x版本以上改了,結果保留浮點數。系統本身設計就這樣的。可以認為是開發python語言的開發者們任性,所以就這樣了
附:pyhton中除法的余數
v2.2以前,除(「/」)運算符的返回有兩種可能情況,分別是整型和浮點型。操作數的不同,是影響計算結果數據類型的關鍵。
以a/b為例,a、b均為整型,則結果返回整型;a、b任意一個是浮點型的話,則結果就是浮點型。
===========================
#pythonv2.7
>>>3/2,3.0/2,3.0/2.0
(1,1.5,1.5)
===========================
在某些場合,我們可能會期待a/b返回浮點型,可是由於某些不確定的因素,參與運算的a和b都是整型,這可能會帶來錯誤,顯然有精度上的損失。
v2.2以後,引入了「地板除」(「//」)運算符,從數值上講,它返回小於除法運算結果的最大整數;從類型上講,與"/"運算符返回類型邏輯一致。
而「/」運算符,沒有變化。
===========================
#pythonv2.7
>>>3/2,3.0/2,3//2,3.0//2
(1,1.5,1,1.0)
===========================
v3.x以後,「/」運算符被命名為「真除」,不再依據操作數類型選擇返回值類型,保證計算結果數值上的精度是第一位的。所以,無須再把操作數轉變成浮點型,以保證運算結果不被截斷小數部分。
「//」運算符,不變。
===========================
#pythonv3.2
>>>3/2,3.0/2,3//2,3.0//2
(1.5,1.5,1,1.0)
===========================
『肆』 python3.5中的地板除問題
對最佳回答進行一些修改:在python3.X中利用/即可直接進行浮點運隱除法運算,即精確除法。而//的規則是:旁並廳先對被除數進蔽絕行四捨五入取整(除數不動),然後運算除法,對運算結果進行無條件截斷,只保留到整數部分,小數點後不保留。這個類似floor(),所以也叫地板除。
#加粗部分為修改部分
熱點內容