前提・実現したいこと
以下のコードで作成したランキング表ですが、順位の列が小数点表示になってしまいます。
ご教授の程、よろしくお願い致します。
該当のソースコード
python
1# ranking table 2import pandas as pd 3import numpy as np 4import matplotlib.pyplot as plt 5import random 6# pd.options.display.float_format="{:.2f}".format 7#Create a random data frame 8N = 100 9players = [f"Player{i}"for i in range(1,31)] 10years = np.arange(2010,2022) 11years = np.random.choice(years,size=N) 12players=np.random.choice(players,size=N) 13df = pd.DataFrame({ 14 "Season": years, 15 16 "Player": players, 17 "score1": np.random.sample(N) * 10.0, 18 "score2": np.random.sample(N) * 10.0, 19 "score3": np.random.sample(N) * 10.0, 20}) 21 22df["score2/score3"]=df["score2"]/df["score3"] 23df=df.query('Season==2021') 24rankcol=df["score3"].rank() 25df.insert(loc=0,value=rankcol,column="Rank") 26df=df.round({"Rank":0,"score3":2,"score2":2,"score1":2}) 27 28df=df.sort_values("Rank") 29df_rank =df[["Rank","Player","score3","score2","score1"]] 30fig, ax = plt.subplots(figsize=(20,7)) 31ax.axis('off') 32ax.axis('tight') 33ax.table(cellText=df_rank.values, 34 colLabels=df_rank.columns, 35 loc='center', 36 bbox=[0,0,1,1])
補足情報(FW/ツールのバージョンなど)
windows11,python3.9.4,vscode
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/04 08:42