数据读取
1 # enCoding:utf-8 2 #2020年广州深圳广东招聘信息分析 3 import pandas as pd 4 import numpy as np 5 from pandas import DataFrame 6 data = pd.read_csv( 7 r"C:\Users392\PycharmProjects\数据分析\数据\zp_info.csv",enCoding='utf-8', 8 engine='python') 9 #输出数据信息10 print(data.info())
运行结果:
<class 'pandas.core.frame.DataFrame'>RangeIndex: 28571 entrIEs, 0 to 28570Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 position 28571 non-null object 1 region 28571 non-null object 2 experIEnce 27983 non-null object 3 education 28559 non-null object 4 number 25781 non-null object 5 age 28570 non-null object 6 new_time 28570 non-null object 7 wage 28571 non-null object 8 company 28571 non-null object 9 Trade 28570 non-null object 10 nature 28534 non-null object 11 scale 28568 non-null objectdtypes: object(12)memory usage: 2.6+ MB
打印列名以及相应的缺失值个数
1 for columname in data.columns:2 if data[columname].count() != len(data):3 loc = data[columname][data[columname].isnull().values==True].index.toList()4 print('列名:"{}", 有{}个缺失值'.format(columname,len(loc)))
运行结果:
列名:"experIEnce", 有588个缺失值列名:"education", 有12个缺失值列名:"number", 有2790个缺失值列名:"age", 有1个缺失值列名:"new_time", 有1个缺失值列名:"Trade", 有1个缺失值列名:"nature", 有37个缺失值列名:"scale", 有3个缺失值
填充缺失值为“unkNow”
data1=data.fillna("unkNow")#输出填充后的空值信息print(data1.isnull().any())#打印数据print(data1)
结果:
position Falseregion FalseexperIEnce Falseeducation Falsenumber Falseage Falsenew_time Falsewage Falsecompany FalseTrade Falsenature Falsescale Falsedtype: bool position region experIEnce ... Trade nature scale0 库房打包工人 深圳市/龙岗区 1年以下 ... 互联网/电子商务 民营 20人以下1 生产工 广州市/白云区 无经验 ... 家具/家电/工艺品/玩具 民营 20人以下2 收件数据专岗 深圳市/罗湖区 无经验 ... 金融(银行/保险) 股份制企业 100-499人3 办公室客服文员 广州市/荔湾区 不限 ... 房地产开发 民营 100-499人4 客服实习生 广州市/荔湾区 不限 ... 建筑与工程 民营 100-499人... ... ... ... ... ... ... ...28566 算法工程师 广东-东莞 1年以上经验 ... 机械/设备/技工 民营企业 500-1000人28567 行政主管 广东-东莞 不限经验 ... 建筑/房地产 民营企业 50-200人28568 人事行政主管 广东-东莞 5年以上经验 ... 机械/设备/技工 民营企业 50-200人28569 仓储主管 广东-东莞 1年以上经验 ... 机械/设备/技工 民营企业 1000人以上28570 审计专员 广东-东莞 1年以上经验 ... 机械/设备/技工 民营企业 500-1000人[28571 rows x 12 columns]Process finished with exit code 0公司招聘的职业的需求排名
代码:
job0=(data1.loc[:,["Trade"]]).value_counts()print(job0.head(20))
运行结果:前20名
C:\Users392\PycharmProjects\数据分析\venv\Scripts\python.exe C:/Users/22392/PycharmProjects/数据分析/职位2.pyTrade 互联网/电子商务 4116金融(银行/保险) 2081其他行业 1833医疗/美容/保健/卫生 1595建筑/房地产/物业/装潢 1562物业管理/商业中心 1399餐饮/娱乐/休闲 1370中介服务/家政服务 1036教育/培训 894教育/培训/学术/科研 875交通/运输/物流 703汽车/摩托车/零配件 551批发/零售 546批发零售 539专业服务/财会/法律 522电子/半导体/集成电路 516机械/设备/技工 503金融(投资/证券 449服装/纺织/皮革 447消费品(食/饮/烟酒) 438dtype: int64
图形化柱状图 前15名
import matplotlib.pyplot as pltfrom matplotlib import Font_manager#解决中文报错from pylab import *mpl.rcParams['Font.sans-serif'] = ['SimHei']mpl.rcParams['axes.unicode_minus'] = False#横坐标lstx=[]#纵坐标lsty=[]for x,y in zip(job0[0:15].index,job0[0:15]): lstx.append(((str(x)[2:-3]).split("/"))[0]) lsty.append(y)plt.figure(figsize=(20,10),dpi = 150)my_Font = Font_manager.FontPropertIEs(fname=r'C:\windows\Fonts\STKAITI.TTF',size =10)plt.bar(lstx,lsty,wIDth=0.5)plt.xticks(range(len(lstx)),lstx,FontpropertIEs=my_Font)for a,b in zip(lstx,lsty): #柱子上的数字显示 plt.text(a,b,'%.0f'%b,ha='center',va='bottom',Fontsize=12)plt.show()
图形化结果
加权(人数*职业)公司招聘职业需求
数据清洗,整理公司招聘职位类别 以及人数 写入job.csv文件中
job=(data1.loc[:,["Trade","number"]]).value_counts()import csvf = open('job.csv','w',enCoding='utf-8')csv_writer = csv.writer(f)csv_writer.writerow(["Trade","number","all_number"])for (x,y) in zip((job.index)[:50],job[:50]): lst=[] lst.append(x[0]) #对需求人数x[1]做规范化处理,unkonw=1,若干人=2 ,以及平均人数,以此来加权 lst2=[] lst2=re.split("人|招聘|数|-|:",str(x[1])) #去除空值 while '' in lst2: lst2.remove('') z = lst2[0] if lst2[0] == 'unkNow': z = "1" elif lst2[0]=='若干': z = "2" elif len(lst2)==2: print(lst2) z = (int(lst2[0])+int(lst2[1]))//2 lst.append(z) lst.append(str(y)) csv_writer.writerow(lst)f.close()
job.csv中数据
jobdata = pd.read_csv(
r"job.csv",enCoding='utf-8',
engine='python')
print(jobdata.info())
job.csv中的数据信息
<class 'pandas.core.frame.DataFrame'>RangeIndex: 50 entrIEs, 0 to 49Data columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Trade 50 non-null object 1 number 50 non-null int64 2 all_number 50 non-null int64 dtypes: int64(2), object(1)memory usage: 1.3+ KB
总结
以上是内存溢出为你收集整理的2020年广东广州深圳招聘职业python大数据分析全部内容,希望文章能够帮你解决2020年广东广州深圳招聘职业python大数据分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)