我有一個當前以美元為單位的列,我的教授希望我們對其進行轉換,以便它顯示 inn 10,000(例如 150000 將是 15,30000 將是 3,15000 將是 1.5)。我能夠轉換它,但我不知道如何讓它只在必要時顯示小數(比如 15000 是 1.5)。有誰知道我怎樣才能讓它顯示整數,除非它像 1.5?
medianIncome1 = (housing['medianIncome'].astype(float)/10000).astype(str)
如果我使用 astype(np.int64) 它會顯示整數,但如果我不使用它會放置一堆小數,如果我使用 round() 我會得到 0
uj5u.com熱心網友回復:
一種方法是遍歷系列并以這種方式對其進行格式化。可能還有其他有效的解決方案。
for i in range(len(medianIncome1)):
if medianIncome1[i].split('.')[1] == '0':
medianIncome1[i]=round(float(medianIncome1[i]))
uj5u.com熱心網友回復:
應用此選項將向您展示您想要的內容,但基礎資料仍將是浮點數。
pd.set_option('display.float_format', lambda x: repr(int(x)) if x/1 == x//1 else repr(x))
uj5u.com熱心網友回復:
您可以稍微修改現有代碼以獲得所需的輸出
medianIncome1 = (housing['medianIncome'].astype(float)/10000).astype(str).str.rstrip('.0')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/524429.html
標籤:Python熊猫
