我希望有人能帮我绘制熊猫数据框架的NaN百分比。我使用此代码计算百分比。
per_1 = df_1.isna().mean().round(4) * 100它给了我这个结果。
HR 7.94
O2Sat 10.36
Temp 66.06
SBP 15.20
MAP 9.17
Age 0.00
Gender 0.00
ICULOS 0.00
SepsisLabel 0.00
Patient_iD 0.00现在,我想把百分比和数据帧的列名一起画出来。有谁可以帮我?
致以问候。
更新:图如下所示。如何美化这一栏名才能看得清楚?

另外,是否可以像下图所示的那样在每个条形图上显示百分比?

更新:唯一的问题是人力资源百分比:

发布于 2021-02-16 09:12:58
您可以使用以下代码片段绘制桶图:
import matplotlib.pyplot as plt
plt.bar(per_1.keys(), per_1.values)
plt.show()样本输出:

更新:
根据您对问题的更新,这里有一个只保留百分比大于零的列的解决方案。此外,情节已被美化的要求,与价值显示在每个条形。
f, ax = plt.subplots()
for i,item in enumerate(zip(per_1.keys(),per_1.values)):
if (item[1] > 0):
ax.bar(item[0], item[1], label = item[0])
ax.text(i - 0.25, item[1] + 1.5 , str(item[1]))
ax.set_xticklabels([])
ax.set_xticks([])
plt.ylim(0,80)
plt.ylabel('Percentage')
plt.xlabel('Columns')
plt.legend()
plt.show()样本输出:

更新2:
若要将小数四舍五入到小数点后两位,请在前面的代码中替换这一行:
ax.text(i - 0.25, item[1] + 1.5 , str(np.round(item[1],2)))
如果尚未完成,则需要导入numpy:import numpy as np
https://stackoverflow.com/questions/66221188
复制相似问题