鱼C论坛

 找回密码
 立即注册
查看: 2921|回复: 10

[已解决]pandas的应用

[复制链接]
发表于 2021-4-3 15:42:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.我想要去除公司地点那一列下元素的括号
2.生成显示行业平均薪资
不知道该怎么做,希望大佬能解答
最佳答案
2021-4-3 18:03:30
本帖最后由 阿奇_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万 是这样来的,哈哈

lagou_recruitment.zip

68.24 KB, 下载次数: 5

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-3 18:03:30 | 显示全部楼层    本楼为最佳答案   
本帖最后由 阿奇_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万 是这样来的,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 19:42:48 | 显示全部楼层
阿奇_o 发表于 2021-4-3 18:03
又是你。。pandas可以出个系列了,哈哈
好,看代码:

eval() 后 忘了 ÷ 2 了。。
应该是 df_rep = df['薪资'].apply(lambda s: (eval(s.replace('k','000').replace('K', '000').replace('-', '+'))/2))

那这样,就没 “年薪40万”了,而是 20万了,哈哈

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-3 20:00:25 | 显示全部楼层
阿奇_o 发表于 2021-4-3 18:03
又是你。。pandas可以出个系列了,哈哈
好,看代码:

好的谢谢
我研究下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-3 20:53:30 | 显示全部楼层
阿奇_o 发表于 2021-4-3 18:03
又是你。。pandas可以出个系列了,哈哈
好,看代码:

研究一下各地区最高薪资是什么工作
这个问题该怎么做呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 21:29:09 | 显示全部楼层
先理解了 df['col'].apply() 和 匿名函数 怎么用,还有前面 怎么进行“分列操作”的,理解了吗
再看:df_rep = df['薪资'].apply(lambda s: (eval(s.replace('k','000').replace('K', '000').replace('-', '+'))/2))

再理解 df_rep['salary'].groupby(by=df['city ? '])[['max_sal ? ']].max()  # .min(), .sum(), .count(), .mean()

ps: 可以多查 官方文档,有简单的示例,自己可以先练练,理解理解,然后再应用应用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-3 22:03:09 | 显示全部楼层
阿奇_o 发表于 2021-4-3 21:29
先理解了 df['col'].apply() 和 匿名函数 怎么用,还有前面 怎么进行“分列操作”的,理解了吗
再看:df_r ...

差不多都理解了 我知道是什么用法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-3 22:03:48 | 显示全部楼层
阿奇_o 发表于 2021-4-3 21:29
先理解了 df['col'].apply() 和 匿名函数 怎么用,还有前面 怎么进行“分列操作”的,理解了吗
再看:df_r ...

官方文档怎么查
我一般都是搜百度
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-3 22:29:45 | 显示全部楼层
私はり 发表于 2021-4-3 22:03
官方文档怎么查
我一般都是搜百度

在线文档、API,直接 语言名+文档,如 Python3 文档
离线文档,我用的是 zeal (zealdocs.org)

不过,其实 vscode 等编辑器,自己也会 加载出 某个方法函数的文档(精简版的)。
ipython也可以查看精简版的帮助文档,如 pd.DataFrame?

不过,先学一遍《用Python进行数据分析》这样类似的经典书籍,
然后再查文档,会比较明确要查什么。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-4 11:19:07 | 显示全部楼层
阿奇_o 发表于 2021-4-3 22:29
在线文档、API,直接 语言名+文档,如 Python3 文档
离线文档,我用的是 zeal (zealdocs.org)

好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-30 17:03:39 From FishC Mobile | 显示全部楼层
龙舞九天 发表于 2021-4-30 15:13

兄台少水一点吧,小心被封哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 23:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表