import pandas as pd import numpy as np catering_sale='D:\大三下\大数据实验课\data\catering_sale.xls' data=pd.read_excel(catering_sale,names=['data','sale']) bins=[0,500,1000,1500,2000,2500,3000,3500,4000] labels=['[0,500)','[5000,1000)','[1000,1500)','[1500,2000)','[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)'] #做标签的工作 data['sale分层']=pd.cut(data.sale,bins,labels=labels) print(data)
#groupby做统计的工作,实现数据的分组和运算 aggResult=data.groupby(by=['sale分层'])['sale'].agg([('sale', np.size)]) print(aggResult)
pAggResult=round(aggResult/aggResult.sum(),2)*100 print(pAggResult) import matplotlib.pyplot as plt plt.figure(figsize=(10,6)) plt.title("3127") pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10,color='r') plt.rcParams['font.sans-serif']=['SimHei'] plt.title("频率分布直方图(3127)") plt.show()
#绘制饼图import pandas as pd import matplotlib.pyplot as plt catering_sale='D:\大三下\大数据实验课\data\catering_dish_profit.xls' data=pd.read_excel(catering_sale)#读取数据 #绘制饼图 x=data['盈利'] labels=data['菜品名'] plt.figure(figsize=(8,6))#设置画布大小 plt.pie(x,labels=labels)#绘制饼图 plt.rcParams['font.sans-serif']='SimHei' plt.title('销售量分布(饼图)(3127)')#设置标题 plt.show()
#绘制条形图 x=data['菜品名'] y=data['盈利'] plt.figure(figsize=(8,4))#设置画布大小 plt.bar(x,y) plt.rcParams['font.sans-serif']='SimHei' plt.xlabel('类型')#设置x轴坐标 plt.ylabel('销量')#设置y轴坐标 plt.title('销量分布(条形图)(3127)') plt.show()
#部门之间 import pandas as pd import matplotlib.pyplot as plt data=pd.read_excel("D:\dish_sale.xls") plt.figure(figsize=(8,4)) plt.plot(data['月份'],data['A部门'],color='green',label='A部门',marker='o') plt.plot(data['月份'],data['B部门'],color='red',label='B部门',marker='s') plt.plot(data['月份'],data['C部门'],color='skyblue',label='C部门',marker='x') plt.legend() plt.ylabel('销售额(万元)') plt.title('部门之间销售金额比较3127',fontsize=20) plt.show() #B部门 data=pd.read_excel("D:\dish_sale_b.xls") plt.figure(figsize=(8,4)) plt.plot(data['月份'],data['2012年'],color='green',label='2012年',marker='o') plt.plot(data['月份'],data['2013年'],color='red',label='2013年',marker='s') plt.plot(data['月份'],data['2014年'],color='skyblue',label='2014年',marker='x') plt.legend() plt.ylabel('销售额(万元)') plt.title('B部门各年份之间销售金额的比较3127',fontsize=20) plt.show()
import pandas as pd import matplotlib.pyplot as plt df_normal = pd.read_csv("D:/user.csv") plt.figure(figsize=(8,4)) plt.plot(df_normal["Date"],df_normal["Eletricity"]) plt.xlabel("日期") #设置x轴刻度间隔 x_major_locator = plt.MultipleLocator(7) ax=plt.gca() ax.xaxis.set_major_locator(x_major_locator) plt.ylabel("每日电量") plt.title("正常用户电量趋势3127",fontsize=20) plt.rcParams['font.sans-serif']=['SimHei'] plt.show() #窃电用户用电趋势分析 df_steal = pd.read_csv("D:/Steal user.csv") plt.figure(figsize=(10,9)) plt.plot(df_steal["Date"],df_steal["Eletricity"]) plt.xlabel("日期") plt.ylabel("日期") x_major_locator=plt.MultipleLocator(7) ax=plt.gca() ax.xaxis.set_major_locator(x_major_locator) plt.title("窃电用户用电趋势3127",fontsize=20) plt.rcParams['font.sans-serif']=['SimHei'] plt.show()
import pandas as pd dish_profit = 'D:/catering_dish_profit.xls' data=pd.read_excel(dish_profit,index_col='菜品名') data=data['盈利'].copy() data.sort_values(ascending=False) import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.figure() data.plot(kind='bar') plt.ylabel('盈利(无)') p=1.0*data.cumsum()/data.sum() p.plot(color='r',secondary_y=True,style='-o',linewidth=2) plt.annotate(format(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))#图上标注 plt.ylabel('盈利(比例') plt.title("菜品盈利数据帕累托图3127",fontsize=20) plt.rcParams['font.sans-serif']=['SimHei'] plt.show()
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.figure(figsize=(7,5)) import numpy as np x=np.linspace(0,2*np.pi,50) y=np.sin(x) plt.plot(x,y,'bp--') plt.title("正弦曲线图3127",fontsize=20) plt.show()
labels='Frogs','Hogs','Dogs','Logs' sizes=[15,30,45,10] colors=['yellowgreen','gold','lightskyblue','lightcoral'] explode=(0,0.1,0,0) plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.lf%%',shadow=True,startangle=90) plt.axis('equal')#显示为圆 plt.title("饼图3127",fontsize=20) plt.show()
import numpy as np x=np.random.randn(1000) plt.hist(x,10) plt.title("二维条形直方图3127",fontsize=20) plt.show()
import numpy as np import pandas as pd x = np.random.randn(1000) # 1000个服从正态分布的随机数 D = pd.DataFrame([x, x+1]).T # 构造两列的DataFrame D.plot(kind = 'box') # 调用Series内置的绘图方法画图,用kind参数指定箱型图box plt.title("箱型图3127",fontsize=20) plt.show()
import numpy as np import pandas as pd x=pd.Series(np.exp(np.arange(20))) plt.figure(figsize=(8,9)) axl=plt.subplot(2,1,1) x.plot(label='原始数据图',legend=True) plt.title("原始数据图3127",fontsize=20) axl=plt.subplot(2,1,2) x.plot(logy=True,label='对数数据图',legend=True) plt.title("对数数据图3127",fontsize=20) plt.show()
import numpy as np import pandas as pd error=np.random.randn(10) y=pd.Series(np.sin(np.arange(10))) y.plot(yerr=error) plt.title("误差条形图3127",fontsize=20) plt.show()
总结:数据挖掘的目标是建立一个决策模型,根据过去的行动数据来预测未来的行为。使用python制作图片会更快分析数据规律。
标签:plt,title,python,学习,pd,np,import,data From: https://www.cnblogs.com/nesum6/p/17158352.html