使用matplotlib、seaborn、pandas绘制数据条形图

项目描述

打开房天下数据表,其中包括了房天下网站从2009年1月到2010年12月的各大城市房屋销售数据。
要求:

  1. 使用所学知识,使用EXCEL数据透视表功能,从数据源中筛选出2009年第2季度北上广三个城市的销售数量总和,将结果输出到新表。(50分)
  2. 按照2009年和2010年的第1、2、3、4季度共8个时间节点,画出各节点对应销售数量总和的条形图。(50分)

数据举例

在这里插入图片描述

实现代码

import pandas as pd
# 读取数据
df = pd.read_excel('房天下.xls')
# 1.	使用所学知识,使用EXCEL数据透视表功能,从数据源中筛选出2009年第2季度北上广三个城市的销售数量总和,将结果输出到新表。(50分)
df1 = df[(df['年']==2009)&(df['月'].isin([4,5,6]))&(df['销售区域'].isin(['北京','上海','广州']))]['销售数量'].sum()
# print(df1)


# 2.按照2009年和2010年的第1、2、3、4季度共8个时间节点,画出各节点对应销售数量总和的条形图。(50分
def f(t):
    if t > 0 and t < 4:
        return '第一季度'
    elif t>3 and t<7:
        return '第二季度'
    elif t>6 and t<10:
        return '第三季度'
    else:
        return '第四季度'

# 将年和月拼接为季度特征
df['季度'] = df['年'].astype('str') + df['月'].map(f)
data = df[['季度','销售数量']].groupby(by='季度').sum()
# print(data)
data['季度'] = data.index

from matplotlib import pyplot as plt
import seaborn as sn
# 设置中文字体和负号正常显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

sn.barplot(data['季度'],data['销售数量'])
plt.show()

效果如下

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值