pyecharts与mysql_pyecharts数据分析及展示

本文使用pyecharts从mysql获取数据,分析并展示Python岗位的平均工资分布,包括柱状图和饼状图。通过数据可视化,展示了不同薪资范围的岗位数量以及北京各区域Python职位占比。
摘要由CSDN通过智能技术生成

importpymysqlimportnumpy as npfrom pyecharts importBarfrom pyecharts importPieclassMysqlhelper(object):

config={"host": "localhost","user": "root","password": "123456","db": "test","charset": "utf8"}def __init__(self):

self.connection=None

self.cursor=None#从数据库中查询多行数据

def getlist(self, sql, *args):try:

self.connection= pymysql.connect(**Mysqlhelper.config) #**接函数所有参数

self.cursor =self.connection.cursor()

self.cursor.execute(sql, args)returnself.cursor.fetchall()exceptException as ex:print(ex, ex)finally:

self.close()defclose(self):ifself.cursor:

self.cursor.close()ifself.connection:

self.connection.close()if __name__ == "__main__":

count=0

list=[]

list1=[]

list2= [5000,10000,15000,20000,25000,30000,35000,40000]

salary0=[]

salary1=[]

salary2=[]

salary3=[]

salary4=[]

salary5=[]

salary6=[]

salary7=[]

city=[]

helper=Mysqlhelper()

rows= helper.getlist("select * from t_job")#print(rows)

for n inrows:if n[4][-1]=='月':

list.append(n[4])elif n[4][-1]=='年':pass

elif n[4][-1]=='天':pass

else:pass

for sale inlist:#print(sale)

money = sale.split('/')#print(money[0])

money1 = money[0].split('-')#print(money1)

if money[0][-1] == '万':

a= float(money1[0]) * 10000b= float(money1[1][:-1]) * 10000aveage= (a + b) / 2count+=1list1.append(aveage)elif money[0][-1]=='千':

a= float(money1[0]) * 1000b= float(money1[1][:-1]) * 1000

#print(a)

#print(b)

aveage = (a + b) / 2

#print(aveage)

count += 1list1.append(aveage)#print(count)

#print(list1)

for i inlist1:print(i)if 0 < i <= 5000:

salary0.append(i)elif 5000 < i <= 10000:

salary1.append(i)elif 10000 < i <= 15000:

salary2.append(i)elif 15000 < i <= 20000:

salary3.append(i)elif 20000 < i <= 25000:

salary4.append(i)elif 25000 < i <= 30000:

salary5.append(i)elif 30000 < i <= 35000:

salary6.append(i)elif 35000 < i <= 40000:

salary7.append(i)print(min(list1))print(max(list1))

a=len(salary0)

b=len(salary1)

c=len(salary2)

d=len(salary3)

e=len(salary4)

f=len(salary5)

g=len(salary6)

h=len(salary7)

list3=[a,b,c,d,e,f,g,h]print(list2) #x轴

print(a,b,c,d,e,f,g,h)print(list3) #数量

bar= Bar('Python平均工资')

bar.add("月薪", list2,list3)#bar.show_config()

bar.render('Python工资柱状图.html')

pie=Pie()

pie.add("", list2, list3, is_label_show=True)#pie.show_config()

pie.render('Python工资饼状图.html')'''#print(rows)

citycount=[]

cityname=['北京','异地招聘','海淀区','朝阳区','丰台区','昌平区','东城区','延庆区',

'房山区','通州区','顺义区','大兴区','怀柔区','西城区','平谷区','门头沟区']

beijing=[]

yidi=[]

haidian=[]

chaoyang=[]

fengtai=[]

changping=[]

dongcheng=[]

yanqing=[]

fangshan=[]

tongzhou=[]

shunyi=[]

daxing=[]

huairou=[]

xicheng=[]

pinggu=[]

mentougou=[]

for n in rows:

#print(n[3])

area=n[3].split('-')

print(area)

if len(area)==1:

print(area[0])

city.append(area[0])

else:

print(area[1])

city.append(area[1])

print(city)

print(len(city))

for i in city:

if i=='北京':

beijing.append(i)

elif i=='异地招聘':

yidi.append(i)

elif i=='海淀区':

haidian.append(i)

elif i == '朝阳区':

chaoyang.append(i)

elif i=='丰台区':

fengtai.append(i)

elif i=='昌平区':

changping.append(i)

elif i=='东城区':

dongcheng.append(i)

elif i=='延庆区':

yanqing.append(i)

elif i=='房山区':

fangshan.append(i)

elif i=='通州区':

tongzhou.append(i)

elif i=='顺义区':

shunyi.append(i)

elif i=='大兴区':

daxing.append(i)

elif i=='怀柔区':

huairou.append(i)

elif i=='西城区':

xicheng.append(i)

elif i=='平谷区':

pinggu.append(i)

elif i=='门头沟区':

mentougou.append(i)

#print(beijing)

#print(len(beijing))

a = len(beijing)

b = len(yidi)

c = len(haidian)

d = len(chaoyang)

e = len(fengtai)

f = len(changping)

g = len(dongcheng)

h = len(yanqing)

j = len(fangshan)

k = len(tongzhou)

l = len(shunyi)

m = len(daxing)

n = len(huairou)

o = len(xicheng)

p = len(pinggu)

q = len(mentougou)

citycount=[a,b,c,d,e,f,g,h,j,k,l,m,n,o,p,q]

print(cityname)

print(citycount)

pie = Pie()

pie.add("", cityname, citycount, is_label_show=True)

# pie.show_config()

pie.render('北京各区Python职位占比饼状图.html')

bar = Bar('北京各区职位数量')

bar.add("数量", cityname, citycount)

# bar.show_config()

bar.render('北京各区Python职位占比柱状图.html')'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值