python学习1

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制作图片会更快分析数据规律。

posted @ 2023-02-27 00:50  林木森3  阅读(37)  评论(0)    收藏  举报