python - 从数据中的两个变量中可视化特定信息
问题描述
假设我有这个名为 sample.csv 的 csv 文件:
CODE AGEGROUP SEX CITY HEALTHSTATUS
---- --------- --- ---- ------------
E101 25 to 29 M Denver Recovered
E102 25 to 29 F Chicago Recovered
E105 45 to 49 M Denver Mild
我想可视化(以条形图显示)根据性别“康复”的人数(因此对于上面的示例,一名男性和一名女性康复)。到目前为止,我的代码仅适用于根据性别和健康状况可视化人数。
这是计算性发生次数的代码要点:
import pandas as pd
import matplotlib.pyplot as plt
fs = 6
plt.style.use("bmh")
fig = plt.figure()
ax0 = plt.subplot(1, 1, 1)
df["SEX"].value_counts().plot(kind="bar", ax=ax0)
ax0.set_xlabel("Sex", fontsize=fs)
ax0.set_ylabel("Number of People", fontsize=fs)
ax0.tick_params(axis='both', labelsize=fs)
ax0.tick_params(axis='x', labelrotation=00)
ax0.set_title("NUMBER OF POSITIVE CASES BY SEX", fontsize=fs)
plt.tight_layout()
plt.show()
我应该如何让程序根据性别可视化“恢复”的数量?
解决方案
只是改变:
df["SEX"].value_counts().plot(kind="bar", ax=ax0)
至:
df["SEX"][df['HEALTHSTATUS'] == 'Recovered'].value_counts().plot(kind="bar", ax=ax0)
完整代码:
import pandas as pd
import matplotlib.pyplot as plt
fs = 6
plt.style.use("bmh")
fig = plt.figure()
ax0 = plt.subplot(1, 1, 1)
df["SEX"][df['HEALTHSTATUS'] == 'Recovered'].value_counts().plot(kind="bar", ax=ax0)
ax0.set_xlabel("Sex", fontsize=fs)
ax0.set_ylabel("Number of People", fontsize=fs)
ax0.tick_params(axis='both', labelsize=fs)
ax0.tick_params(axis='x', labelrotation=00)
ax0.set_title("NUMBER OF POSITIVE CASES BY SEX", fontsize=fs)
plt.tight_layout()
推荐阅读
- javascript - 转换为 UTF8
- html - 带有花括号的片段中的 Emmet 干扰
- visual-studio - 重新附加 Visual Studio 调试器无法检测到模块?
- macos - Applescript 更改剪贴板上的文本
- node.js - Node.js fs.createWriteStream(downloadDirectory) 是否在服务器文件系统或用户设备上创建文件?
- ruby - 运行 PACT 测试会引发 Ruby 加载错误
- bootstrap-accordion - 尝试在打开时更改 Bootstrap 手风琴标题的背景颜色
- android - setBackgroundResource 在 Android 中的现有图像之上添加图像
- angular - 角度动态嵌套数组不显示错误
- amazon-web-services - AWS CDK 在使用 ApplicationLoadBalancedEc2Service 创建 EcsService Cloud Formation 堆栈时卡住