2021某厂的数据分析面试题python

Posted 柳小葱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021某厂的数据分析面试题python相关的知识,希望对你有一定的参考价值。

今天来更新朋友面试某厂的数据分析题,供大家参考。

面试官给了一个python笔试题.py文件
内容如下:
在这里插入图片描述

Q1:读入数据

 # Q1: 读入数据,到一个dataframe命名为content,并且将其中的列名作为dataframe的column index
import pandas as pd
content=pd.DataFrame(raw_data,columns=["platform","order_num","comment","uv"])
content.info()

结果如下:
在这里插入图片描述

Q2:筛选数据

这里我要说一下,筛选数据最好用df.query()这个函数,效率高,容易理解

# Q2: 筛选所有order_num = '2nd' 且platform = 'news'
qstr1="order_num == \\'2nd\\'"
qstr2="platform == \\'news\\' & order_num == \\'2nd\\'"
print(content.query(qstr2))

结果如下:
在这里插入图片描述

Q3:筛选数据

#Q3:筛选content的第2-4行和第2列之后的数据
content.iloc[1:4,2:]

结果如下:
在这里插入图片描述

Q4:分组

# Q4: 对content进行分组计算,按照platform 和order_num 对comment 求和 并按照求和结果进行降序排列
data1=content.groupby(["platform","order_num"])["comment"].sum().sort_values(ascending=False)
data1

结果如下:
在这里插入图片描述

Q5:数据赋值

这道题大家的思想可能也是判断platform='news’和 comment >= 70,然后再and,这样写也行,但是可能会有类型错误,如不是bool类型之类的,博主的想法是求出满足表达式的行的索引,然后根据索引赋值即可

# Q5: 新生成一列变量为 rank,评价标准为,当platform='news'且 comment >= 70时 rank = 'good', 当platform='pcnews'且 comment >= 500时 rank = 'medium', 其他 rank = 'worse'
#全体赋值为worse
content["rank"]="worse"
#满足第一个条件表达式
qustr1="platform==\\'news\\' and comment >= 70"
list1=content.query(qustr1).index.tolist()
content.loc[list1,"rank"]="good"
#满足第二个条件的表达式
qustr2="platform==\\'pcnews\\' and comment >= 500"
list2=content.query(qustr2).index.tolist()
content.loc[list2,"rank"]="medium"
#展示赋值后的结果
print(content)

结果如下:在这里插入图片描述

总结

总结一下,题目主要考察pandas,对做题时间有限制,其实还是有点难度的,尤其是需要知道一些高级的pandas查询方法,平时还是需要多敲一敲!

以上是关于2021某厂的数据分析面试题python的主要内容,如果未能解决你的问题,请参考以下文章

Java进阶之光!2021必看-Java高级面试题总结

某厂面试:如何优雅使用 SPI 机制

某厂面试:如何优雅使用 SPI 机制

三年Java开发,继阿里字节面试挂了之后,终拿京东offer!

前端面试题之手写promise

2021金三银四