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的主要内容,如果未能解决你的问题,请参考以下文章