热线电话:13121318867

登录
2022-02-26 阅读量: 889
python数据清洗案例代码(速查 helpfull!!!)<拉钩网数据探索2>

读取查看文件

df = pd.read_csv("lagou-clean.csv") #清洗后的数据

df.head(3)

df=df.drop(['Unnamed: 0'],axis=1)

df.head(3)

对薪资这一个特征做一个简单的分析

新增列 平均薪资,放在薪资的后面

平均薪资为最高薪资和最低薪资的平均值, 比如10k-20k, 平均薪资是 15000

df['薪资']=df['薪资'].str.lower()

df['最低薪资']=df['薪资'].str.replace('k','000').str.split('-').str.get(0).astype(np.int32)

df['最高薪资']=df['薪资'].str.replace('k','000').str.split('-').str.get(1).astype(np.int32)

df['平均薪资']=(df['最低薪资']+df['最高薪资'])/2

df['平均薪资']=df['平均薪资'].astype(np.int32)

df.drop('薪资',axis=1,inplace=True)

df.head(3)

薪资情况统计描述性信息

df.describe()

按照城市进行分组, 查看平均薪资的平均值和标准差

df[['城市','平均薪资']].groupby('城市').agg([np.mean,np.std])

将上表按照平均值进行降序, 并画出, 随着城市变化, 平均薪资的条形图

df1=df[['城市','平均薪资']].groupby('城市').mean().sort_values(by='平均薪资',ascending=False)

df1.plot(kind='bar')

封装成函数

def f(col):

gp =df.groupby(col) #列名

a = gp['平均薪资'].agg('mean').sort_values(ascending=False) #降序

if len(a)<=10:

b = a

else:

b=a[:10] #只看平均薪资前10的

plt.figure(figsize=(6, 4), dpi=100)

plt.bar(b.index, b, color='c')

plt.xticks(rotation=30)

plt.title('各{}平均薪资柱状图'.format(col))

f('城市')

查看 学历要求 平均薪资 的关系

f('学历')

公司行业 平均薪资 之间的关系

f('行业')

融资阶段 平均薪资 之间的关系

f('融资')

公司规模 平均薪资 之间的关系

f('规模')

## 经验要求 与 平均薪资 之间的关系

f('经验')

行业情况

df['行业']

df[df.行业.str.contains('移动互联网')].shape

# 统计金融公司数量

df[df.行业.str.contains('金融')].shape

# 统计文娱公司数量

df[df.行业.str.contains('文娱')].shape

#数据分析岗位不同的行业情况,有哪些行业

set(df.行业.str.replace('[ 丨、]',',',regex=True).str.cat(sep=',').split(','))

岗位技能

L=df['岗位技能'].str.cat(sep='').split(' ')

type(L)

pd.Series(L).value_counts()[:20]

地理图

查看全国工作数量分布

df['城市'].value_counts().plot(kind='bar')

data=df['城市'].value_counts().reset_index().values.tolist()

from pyecharts import options as opts

from pyecharts.charts import Geo

c = (

Geo()

.add_schema(maptype="china")

.add("geo", data)

.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

.set_global_opts(

visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="工作数量分布")

)

.render("工作数量分布.html")

)

查看北京工作数量分布

df[df['城市']=='北京']['公司地点'].value_counts()


255.8567
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子