Python使用Plotly绘制柱状图时如何仅展示True值的统计数量
实现方案
你原来的代码会同时统计B、D两列中所有True和False的出现次数,若只需要展示True的统计数量,可参考以下两种实现方式:
方式一:先统计True数量再绘制柱状图(更推荐,逻辑直观)
pandas中布尔值True等价于数值1,False等价于数值0,直接对目标列求和即可得到True的总个数,再用柱状图展示即可:
# 统计B、D列的True数量 true_counts = df[["B", "D"]].sum().reset_index() # 重命名列方便识别 true_counts.columns = ["字段名", "True计数"] # 绘制柱状图 fig = px.bar(true_counts, x="字段名", y="True计数") fig.show()
方式二:过滤后用histogram实现
如果你需要继续使用histogram接口实现,可以先将宽表转为长表、过滤出值为True的行后再绘图:
# 将B、D列转为长格式 df_long = df[["B", "D"]].melt(var_name="字段名", value_name="字段值") # 仅保留值为True的行 df_true = df_long[df_long["字段值"] == True] # 绘制直方图统计计数 fig = px.histogram(df_true, x="字段名") fig.show()
内容的提问来源于stack exchange,提问作者Domi
相关产品推荐
相关产品推荐

