作业一
import pandas as pd catering_sale = r'C:\Users\86184\Desktop\文件集/catering_sale.xls' # 餐饮数据 data = pd.read_excel(catering_sale, index_col = u'日期') # 读取数据,指定“日期”列为索引列 print(data) print(data.describe(),data.describe().max()-data.describe().min()) import matplotlib.pyplot as plt # 导入图像库 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 plt.figure(figsize=(10,5)) # 建立图像 p = data.boxplot(return_type='dict') # 画箱线图,直接使用DataFrame的方法 x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签 y = p['fliers'][0].get_ydata() y.sort() # 从小到大排序,该方法直接改变原对象 ''' 用annotate添加注释 其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制 以下参数都是经过调试的,需要具体问题具体调试。 ''' for i in range(len(x)): if i>0: plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i])) else: plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i])) plt.title('箱型图 number3019',fontsize=30) plt.show() # 展示箱线图


import pandas as pd import numpy as np catering_sale = r'C:\Users\86184\Desktop\文件集/catering_sale.xls' # 餐饮数据 data = pd.read_excel(catering_sale,names=['date','sale']) # 读取数据,指定“日期”列为索引 print(data.describe()) bins = [0,500,1000,1500,2000,2500,3000,3500,4000] labels = ['A_lei','[500,1000)','[1000,1500)','[1500,2000)', '[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)'] data['sale分层'] = pd.cut(data.sale, bins, labels=labels) print(data) aggResult = data.groupby('sale分层').agg({'sale':'count'}) print(aggResult) pAggResult = round(aggResult/aggResult.sum(), 2, ) import matplotlib.pyplot as plt plt.figure(figsize=(10,5)) # 设置图框大小尺寸 pAggResult['sale'].plot(kind='bar',width=0.1,fontsize=10) # 绘制频率直方图 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.title('柱形图 number3013',fontsize=20) plt.show()


# 1.导入数据并格式化 import pandas as pd import numpy as np # 导入数据 df = pd.read_excel(r"C:\Users\86184\Desktop\文件集/catering_fish_congee.xls") # 根据label列分组并计数 df_label = df.groupby("销量").size() # 转化为作图所需要的array格式,如:([[ 0, 37536],[ 1, 12322]]) datas = list(zip(df_label.index.to_list(), df_label.to_list())) datas = np.array(datas) plt.figure(figsize = (15, 11)) # 2.绘制饼图 import matplotlib.pyplot as plt # 设置字体和编码格式 plt.rcParams['font.sans-serif'] = 'simhei' plt.rcParams['axes.unicode_minus'] = False # 添加数据,标签,比例 plt.pie(datas[:, 1], labels=datas[:, 0], autopct="%.1ff%%") # 在左上方添加图例 plt.legend(datas[:, 0], loc="upper right") # 添加标题 plt.title("饼图 number3019",fontsize=20) # 展示饼图 plt.show()

# 导入 pandas 和 matplotlib import pandas as pd import numpy as np import matplotlib.pyplot as plt # 读取文件 df = pd.read_excel(r"C:\Users\86184\Desktop\文件集/catering_sale.xls") print(df.describe()) years = list(range(1,len(df)+1)) turnovers = df['销量'] plt.figure(figsize = (12, 8)) plt.scatter(years, turnovers, c='red', s=50, label='legend') plt.xlabel("行数", fontdict={'size': 16}) plt.ylabel("销量", fontdict={'size': 16}) plt.title("散点图 number3013", fontdict={'size': 30}) plt.legend(loc='best') plt.show()


浙公网安备 33010602011771号