按组计数
在之前的练习中,您先从表中取数,再用 pandas 汇总得到的 dataframe 来绘图。通过在 SQL 查询中使用 COUNT 和 GROUP BY,我们可以直接从数据库中获取这些汇总结果。
hpd311calls 表包含一列 complaint_type,用来按问题类型(如供暖、管道)对来电记录分类。为了按问题类型绘制来电量图表,您将编写一个 SQL 查询,按投诉类型对记录进行 COUNT 统计。
已将 pandas 以 pd 导入,并已创建 data.db 的数据库引擎 engine。
本练习是课程的一部分
使用 pandas 高效导入数据
练习说明
- 编写一个 SQL 查询,从
hpd311calls中获取complaint_type列,且统计所有记录数,并按complaint_type分组。 - 使用
read_sql()创建按问题类型统计来电量的 dataframe,命名为calls_by_issue。 - 运行最后一段代码,绘制每类住房问题的来电数量。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()