项目描述
打开房天下数据表,其中包括了房天下网站从2009年1月到2010年12月的各大城市房屋销售数据。
要求:
- 使用所学知识,使用EXCEL数据透视表功能,从数据源中筛选出2009年第2季度北上广三个城市的销售数量总和,将结果输出到新表。(50分)
- 按照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()