import pymysql
import matplotlib.pyplot as plt
import numpy as np
connection = pymysql.connect(host='127.0.0.1',user='root',password='root',
database='db_job_data',port=3306,charset='utf8')
cursor = connection.cursor()
cursor.execute('select * from job_position ')
connection.commit()
result = cursor.fetchall()
print(result)
lista = list(result)
#print(lista[0][4])
#print(lista)
connection.close()
print(type(lista))
listb = []
for i in range(len(lista)):
jobSalary = lista[i][4]
listb.append(jobSalary)
pass
#print(listb)
for j in listb:
jobSalary = j
lowSalary = 0
highSalary = 0
meanSalary = 0
# 处理薪资数据:1.判断单位
if jobSalary.endswith('万/月'):
jobSalary = jobSalary.replace('万/月', '')
if jobSalary.find('-'):
salaryArray = jobSalary.split('-')
lowSalary = float(salaryArray[0]) * 10000
highSalary = float(salaryArray[1]) * 10000
pass
else:
lowSalary = highSalary = float(jobSalary) * 10000
meanSalary = (lowSalary + highSalary) / 2
pass
elif jobSalary.endswith('千/月'):
jobSalary = jobSalary.replace('千/月', '')
if jobSalary.find('-'):
salaryArray = jobSalary.split('-')
lowSalary = float(salaryArray[0]) * 1000
highSalary = float(salaryArray[1]) * 1000
pass
else:
lowSalary = highSalary = float(jobSalary) * 1000
meanSalary = (lowSalary + highSalary) / 2
pass
elif jobSalary.endswith('万/年'):
jobSalary = jobSalary.replace('万/年', '')
if jobSalary.find('-'):
salaryArray = jobSalary.split('-')
lowSalary = float(salaryArray[0]) * 10000 / 12
highSalary = float(salaryArray[1]) * 10000 / 12
pass
else:
lowSalary = highSalary = float(jobSalary) * 10000 / 12
meanSalary = (lowSalary + highSalary) / 2
pass
elif jobSalary.endswith('元/天'):
jobSalary = jobSalary.replace('元/天', '')
if jobSalary.find('-'):
salaryArray = jobSalary.split('-')
lowSalary = float(salaryArray[0]) * 22
highSalary = float(salaryArray[1]) * 22
pass
else:
lowSalary = highSalary = float(jobSalary) * 22
meanSalary = (lowSalary + highSalary) / 2
else:
pass
print(meanSalary)
listc = []
for i in range(len(lista)):
jobSalary = lista[i][3]
listc.append(jobSalary)
pass
print(listc)
#用来显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(len(listc))
plt.bar(x,listc)
#创建点线图
plt.plot(x,listc,'rp-')
#显示
plt.grid(linestyle='--')
plt.show()
统计python 平均工资
(不完整 待续。。。。)