第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將計算列四舍五入為 1dp

將計算列四舍五入為 1dp

繁華開滿天機 2022-07-12 18:24:26
我知道這是一個流行的查詢,但我在這里沒有找到任何與我需要的完全匹配的東西。我在表格中有一列將 36.25 舍入為 36.2 而不是 36.3。在這里廣泛閱讀了這篇文章后,我很欣賞這些細節(jié),但這并不能幫助我解決我的問題。我怎樣才能創(chuàng)建一些代碼來圍繞我的“結(jié)果”列,如我所愿?此代碼生成我正在使用的 df 版本:import pandas as pdimport numpy as npraw_data = {'AreaCode' : ['101', '102', '103', '104'],            'Numerator' : [300, 500, 600, 667],            'Denominator' : [1000, 780, 1100, 1840]}Data = pd.DataFrame(raw_data, columns = ['AreaCode', 'Numerator', 'Denominator'])然后我試圖添加一個“結(jié)果”列:Data['Outcome'] = Data['Numerator'] / Data['Denominator'] * 100生成下表:AreaCode|Numerator|Denominator|Outcome101|300|1000|30.000000 102|500|780|64.102564 103|600|1100|54.545455104|667|1840|36.25000這很好,除非我申請Data = Data.round(1)這個,它將 36.250000 舍入到 36.2。我需要將此列顯示為 36.3,但如何在 Python 中對此進行編碼。此處有關(guān)如何執(zhí)行此操作的示例使用一次性的、用戶輸入的數(shù)字字符串,而不是整個 df.column。它不會讓我將我的 df.column 傳遞給這些。我試過的一個例子不起作用:import mathdef my_round(n, ndigits):    part = n * 10 ** ndigits    delta = part - int(part)    # always round "away from 0"    if delta >= 0.5 or -0.5 < delta <= 0:        part = math.ceil(part)    else:        part = math.floor(part)    return part / (10 ** ndigits
查看完整描述

2 回答

?
慕標琳琳

TA貢獻1830條經(jīng)驗 獲得超9個贊

我對您的功能做了一些調(diào)整,現(xiàn)在它似乎可以工作了:)


def my_round(n, ndigits=1):

    try:

       part = n * 10 ** ndigits

       delta = part - int(part)

       # always round "away from 0"

       if delta >= 0.5 or -0.5 < delta <= 0:

           part = math.ceil(part)

       else:

           part = math.floor(part)

       val =  part/(10 ** ndigits)

    except ValueError:

       val = np.nan

    return val


Data['Outcome'] = (Data['Numerator'].divide(Data['Denominator'])*100).apply(my_round)

print(Data)

輸出:


  AreaCode  Numerator  Denominator  Outcome

0      101        300         1000     30.0

1      102        500          780     64.1

2      103        600         1100     54.5

3      104        667         1840     36.3


查看完整回答
反對 回復(fù) 2022-07-12
?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

將 pandas 導(dǎo)入筆記本后,您可以添加此行,以便您的浮點值不會超過小數(shù)點后一位:


import pandas as pd

pd.options.display.float_format = '{:.1f}'.format


查看完整回答
反對 回復(fù) 2022-07-12
  • 2 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號