簡體   English   中英

style.hide_index() 在小數點后添加多個零

[英]style.hide_index() adds multiple zeros after decimal

這就是我正在做的事情

df_top_50= df[['Rank', 'Player', 'Position', 'Age', 'Nationality', 'Club Left', 'Club Joined', 'Transfer Fee (EUR)']]

它回來了

   Rank Player              Position    Age Nationality Club Left       Club Joined        Transfer Fee (EUR)
1   1   Antony              Forward     22  Netherlands Ajax Amsterdam  Manchester United   95.00
2   2   Wesley Fofana       Defender    21  England     Leicester City  Chelsea FC          80.40
3   3   Aurélien Tchouameni Midfielder  22  Monaco      AS Monaco       Real Madrid         80.00

我想擺脫索引列,所以我添加style.hide_index()

df_top_50= df[['Rank', 'Player', 'Position', 'Age', 'Nationality', 'Club Left', 'Club Joined', 'Transfer Fee (EUR)']].style.hide_index()

我得到了我想要的,但是轉會費一欄中的值突然在小數點后加了0:

Rank    Player              Position   Age  Nationality Club Left       Club Joined       Transfer Fee (EUR)
1       Antony              Forward    22   Netherlands Ajax Amsterdam  Manchester United 95.000000
2       Wesley Fofana       Defender   21   England     Leicester City  Chelsea FC        80.400000
3       Aurélien Tchouameni Midfielder 22   Monaco      AS Monaco       Real Madrid       80.000000

有什么辦法可以把它放回去,比如在第一個 dataframe 中?

如果 OP 的目標是四舍五入Transfer Fee (EUR)列中的值,則可以使用pandas.DataFrame.round作為

df = df.round({'Transfer Fee (EUR)': 1})

然后該列的值將是

0    95.0
1    80.4
2    80.0

或者,如果 OP 想要指定確切的小數位數,假設一個希望該數字為2 ,那么可以使用pandas.DataFrame.apply如下

df['Transfer Fee (EUR)'] = df['Transfer Fee (EUR)'].apply('{0:.2f}'.format)

然后該列的值將是

0    95.00
1    80.40
2    80.00

Since pandas.io.formats.style.Styler.hide_index is deprecated, use pandas.io.formats.style.Styler.hide instead.

1.4.0 版后已棄用:此方法應替換為 hide(axis="index", **kwargs)

嘗試這個:

df.style.format({'Transfer Fee (EUR)': "{:.2f}"}).hide()  

# 輸出:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM