1.删除重复数据
import pandas as pd
frame=pd.DataFrame({
"C1":['one','two']*2+['two'],
"C2":[1,1,2,3,3]
})
dele_dup=frame.drop_duplicates()
frame..drop_duplicates(inpalce=True)
注:主要考察DataFrame的drop_duplicates()方法,DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)方法及其参数说明http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html
2.缺失值的处理
(1)删除全为空值的行
frame.dropna(axis=0,how="all",inplace=True)
考察DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)方法,方法的参数及其说明http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html#pandas.DataFrame.dropna
(2)将缺失值填充为-99999
frame.fillna(-99999)
考察缺失值的填充方法,DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)方法,方法 的参数及其说明http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html
(3)将-999替换为缺失值
frame.replace(-999,None)
3.分组统计
frame.groupby("sex").sum()#按照性别进行分组统计
frame.count()#非空元素进行计算
3.改变行列标签
fram.rename(columns=新的列,inplace=True)
fram.rename(index=新的行,inplace=True)
考察DataFrame.
rename
(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None),方法说明http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html
4.数值区域分割
给一组数据data=[20,22,25,27,24,23,37,31,64,45,44,32],将数据分割成(0-18),(18-25),(25-40),(40-60),(60-100)
使用pandas的cut对数据进行分组
bins=[0,18,25,40,0,100]#分割点
cats=pd.cut(data,bins)#进行分割
pd.value_counts(cats)#分组统计
#为每个分组加上标签
group_names=["child","youth","youthAdult","middleAged","Senior"]
pd.cut(data,bins,labels=grop_names)
4.数据建模
(1)描述logistic回归与线性回归的区别
(2)简述有监督学习和无监督学习的区别与联系
(3)请举出几个分类模型的评估指标,请举出几个回归模型的评估指标
(4)简述工作的工作或者学校项目中,统计模型建模的基本流程(可结合分析项目说明)
总体下来感觉笔试题不算难,面试的话首先一开始是HR面试,主要问你的求职意向如何,对自己的评价怎样,觉得自己是否是一个开朗的人等等之类的。然后是经理和技术负责人面,主要是聊简历里的项目,在校期间我主要处理的是文本数据,还问了一些有没有做过结构化数据分析之类的相关研究等。或许是应届生的缘故,对于算法这部分没有细问。