Python 计算数据帧中百分比的最有效方法是将其显示为百分比而不是浮点数

Python 计算数据帧中百分比的最有效方法是将其显示为百分比而不是浮点数,python,pandas,Python,Pandas,下午好, 我有过滤数据帧的结果: df[df['state']=='Done'] 2 Done 5 Done 45 Done 48 Done 74 Done 93 Done done_trades = df[df['state']=='Done']['state'].count() total_trades = df['state'].count() RFQ_Hit_Rate = done_trades / total_trad

下午好,

我有过滤数据帧的结果:

df[df['state']=='Done']

2       Done
5       Done
45      Done
48      Done
74      Done
93      Done
done_trades = df[df['state']=='Done']['state'].count()
total_trades = df['state'].count()
RFQ_Hit_Rate = done_trades / total_trades
display(RFQ_Hit_Rate)

0.12320675105485232

UserWarning: Boolean Series key will be reindexed to match DataFrame index. after removing the cwd from sys.path.
我想计算完成交易的总百分比与原始数据框中记录总数的比较:

df[df['state']=='Done']

2       Done
5       Done
45      Done
48      Done
74      Done
93      Done
done_trades = df[df['state']=='Done']['state'].count()
total_trades = df['state'].count()
RFQ_Hit_Rate = done_trades / total_trades
display(RFQ_Hit_Rate)

0.12320675105485232

UserWarning: Boolean Series key will be reindexed to match DataFrame index. after removing the cwd from sys.path.
根据输出的错误,我认为这不是理想的解决方案,因为.count函数返回的是向量而不是数字

有没有关于如何更有效地实现这一目标的建议? 将0.12320675105485232的格式设置为百分比?我本来打算使用.map(“{:,.2f}.”格式),但失败了


Peter

关于格式化,我有一个简单的方法,可能不是最好的,您可以通过调整round的参数来更改精度:

number  = 0.12320675105485232

number = round(number * 100, 2)
print("{}%".format(number))
输出:

12.32%