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

TA貢獻1155條經(jīng)驗 獲得超0個贊
將 pandas 導(dǎo)入筆記本后,您可以添加此行,以便您的浮點值不會超過小數(shù)點后一位:
import pandas as pd
pd.options.display.float_format = '{:.1f}'.format
添加回答
舉報