|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.我想要去除公司地点那一列下元素的括号
2.生成显示行业平均薪资
不知道该怎么做,希望大佬能解答
本帖最后由 阿奇_o 于 2021-4-3 18:06 编辑
又是你。。pandas可以出个系列了,哈哈
好,看代码:
- # 新需求:
- # 1.去掉 地点 列里的方括号
- # 2.计算 行业平均工资
- df = pd.read_csv('lagou_r_new.csv')
- print(df.head())
- print(df.columns)
- # 1. 去掉 公司 列里的方括号
- r = df['地点'].apply(lambda s: s.replace('[','').replace(']', ''))
- print(r.head())
- print( pd.concat( [df[df.columns[:3]], r , df[df.columns[4:]] ], axis=1).head() )
- # 2.计算 行业平均工资
- # 思路:
- # 因 薪资 是 8k-15k 的形式,可以将 k 替换为 000 , - 替换为 + ;
- # 然后进行 eval() 求和,即 变成 eval(‘8000’+‘15000’) , 再 除以 2 即 每个岗位的平均薪资
- df_rep = df['薪资'].apply(lambda s: eval(s.replace('k','000').replace('K', '000').replace('-', '+'))) # 返回的是 列表/序列(Series)!
- print(df_rep.head()) #
- df_rep = pd.DataFrame(df_rep)
- # hy = df['公司状况'].apply(lambda s: s.split(' / ')[0]) # 行业分类。。
- # print(hy)
- # avg = df_rep.groupby(hy)[['薪资']].mean()
- # 以 求 各城市平均薪资 为例(行业列还没清洗好,数据脏乱)
- avg = df_rep.groupby(by=df['城市'])['薪资'].mean().round()
- print(avg.sort_values(ascending=False))
- # 我勒个去,北上深 40K+ , 原来 年薪40万 是这样来的,哈哈
复制代码
|
|