热线电话:13121318867

登录
2020-04-27 阅读量: 1377
从dataframe中提取符合条件的记录,题目详情见正文。

从df表中提取职级是“中级”的员工信息,df表详情:

姓名 出勤天数 职级

0 张山 18 初级

1 王川 21 中级

2 李湖 19 中级

3 赵海 18 高级

实现效果如下:

姓名 出勤天数 职级

1 王川 21 中级

2 李湖 19 中级

np.random.seed(0)
df = pd.DataFrame({"姓名":["张山","王川","李湖","赵海"]
,"出勤天数":np.random.randint(18,22,4)
,"职级":["初级","中级","中级","高级"]}
)
参考答案1:

df[df["职级"].apply(lambda x : x.startswith("中"))]

参考答案2:

df[df["职级"] == "中级"]

结果示例:

0.1244
2
关注作者
收藏
评论(1)

发表评论
yuechuchen
2020-04-27
解题思路: 方法一:apply方法接收的参数为另一个函数,apply函数的作用是讲作为参数传入的函数作用到指定列中的每一个元素。如题目中的解答方式,匿名函数的作用是查找以“中”开头的字符,通过apply方法将匿名函数作用到“职级"列中的每一个元素,即寻找所有”中级“的员工,最后运用切片把符合要求的记录切取出来。 方法二:pandas是基于numpy构建的,打他frame也支持广播功能,可以直接用双等号进行判断,通过判断结果再切片符合要求的记录。
0.0000 0 0 回复
推荐帖子
条评论