You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Plotly绘制基于多列数据的婚姻状态统计柱状图

解决方案

该需求可直接实现,无需复杂数据转换。

核心思路

你的婚姻状态字段为独热编码格式,每列取值只有0和1,直接对4个婚姻状态对应列做纵向求和,得到的结果就是对应状态的总人数,统计过程完全不需要涉及性别相关列。求和后将结果整理为「状态名称-计数」的二维结构,即可直接传入Plotly绘制柱状图。

具体实现步骤

  • 加载数据集后,筛选出Single、Married、Cohabit、OthSing四个婚姻状态列
  • 对筛选出的列按列方向求和,得到每个婚姻状态的总人数
  • 将求和结果转换为两列结构:第一列为婚姻状态名称,第二列为对应总人数
  • 调用Plotly柱状图接口,指定x轴映射婚姻状态字段、y轴映射总人数字段,完成绘图

可运行代码示例

import pandas as pd
import plotly.express as px

# 读取或构造你的数据集
df = pd.DataFrame({
    "Female": [1, 0, 0, 1, 0, 1],
    "Male": [0, 1, 1, 0, 1, 0],
    "Single": [1, 0, 0, 0, 1, 0],
    "Married": [0, 1, 0, 0, 0, 0],
    "Cohabit": [0, 0, 0, 1, 0, 1],
    "OthSing": [0, 0, 1, 0, 0, 0]
})

# 统计各婚姻状态人数
marriage_columns = ["Single", "Married", "Cohabit", "OthSing"]
stat_result = df[marriage_columns].sum().reset_index()
stat_result.columns = ["婚姻状态", "人数"]

# 绘制柱状图
fig = px.bar(stat_result, x="婚姻状态", y="人数", title="各婚姻状态人数统计")
fig.show()

基于你提供的样例数据,运行后得到的统计结果为:Single共2人、Married共1人、Cohabit共2人、OthSing共1人,和预期输出效果完全匹配。

内容的提问来源于stack exchange,提问作者srtklein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:57:26