python数据分析题⽬和答案-python数据分析师⾯试题选以下题⽬均⾮原创,只是汇总
python数据分析部分##
1. 如何利⽤SciKit包训练⼀个简单的线性回归模型
利⽤linear_model.LinearRegression()函数
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
sourcehanserifcn是什么字体regr.fit(data_X_train, data_y_train)
2. 例举⼏个常⽤的python分析数据包及其作⽤
数据处理和分析:NumPy, SciPy, Pandas
机器学习:SciKit
可视化: Matplotlib, Seaborn
3. 如何利⽤Numpy对数列的前n项进⾏排序
使⽤argsort()函数:x[x [: n-1].argsort ()]
4. 如何检验⼀个数据集或者时间序列是随机分布的
画lag plot(Correlogram:相关图),如果图上的点呈散乱分布,则为随机
5. 在python中如何创建包含不同类型数据的dataframe
利⽤pandas包的DataFrame函数的serias创建列然后⽤dtype定义类型:
df = pd.DataFrame({"x": pd.Series(["1.0", "2.0", "3.0"], dtype=float), "y": pd.Series(["1", "2", "3"], dtype=int)})
6. Pandas中使⽤的标准数据缺失标志是什么
NaN
python编程基础教程课后答案7. 描述numpy array⽐python list的优势
class标签
a. numpy array⽐python list更紧凑,存储数据占的空间⼩,读写速度快。(这是由于python list储存的是指向对象(⾄少需要16个字节)的指针(⾄少4个字节);⽽array中储存的是单⼀变量(⽐如单精度浮点数为4个字节,双精度为8))
b. array可以直接使⽤vector和matrix类型的处理函数,⾮常⽅便。
8. 如何检验numpy的array为空
使⽤size函数, ⽐如
a = np.array([])
print a.size # 0
**9. 如何检验pandas dataframe为空?
使⽤empty函数
python 基础操作部分##
1. 如何在python中复制对象
使⽤copy包的copy和deepcopy函数。其中,copy 仅拷贝对象本⾝,⽽不拷贝对象中引⽤的其它对象;deepcopy 除拷贝对象本⾝,⽽且拷贝对象中引⽤的其它对象。
2. PEP8是什么
python语⾔的编程规范,提⾼代码可读性
3. init.py是什么
⼀个空⽂件,⽤于将导⼊⽬录中的模块。⽐如有⼀个模块是maindir/subdir/module.py,init.py 可以使之可以通过以下形式导⼊。import dule
4. range()和xrange()函数的差异
range()⽣成的是list,⽽xrange()⽣成的是迭代器(iterator)。例如:
range(5) # [0, 1, 2, 3, 4]
xrange(5)
oracle11g正在打开主窗口list(xrange(1,5)) # [1, 2, 3, 4]
5. 如何对list中的item进⾏随机重排
使⽤shuffle()函数
6. python中⽤于发现bug的⼯具
Pylint和Pychecker. Pylint可以检验模块是否满⾜所有的编程标准;Pychecker则是静态分析⼯具。
7. 装饰器的作⽤
五视图分为哪几种装饰器可⽤于修饰函数或类。通过装饰器可以包裹函数或类使之执⾏之前或之后调⽤装饰器函数,从⽽达到抽离出⼤量函数中与函数功能本⾝⽆关的雷同代码并继续重⽤的⽬的。⽐较经典的厨⼒场景有检验权限,追踪参数,⽇志登陆等。
def makebold(fn):
def wrapped():
" + fn() + ""
return "" + fn() + "
return wrapped
def makeitalic(fn):
def wrapped():
return "" + fn() + ""
return wrapped
@makebold
@makeitaliclinux命令及使用详解
def hello():
return "hello world"
python程序解析部分##
以下代码的输出?
def multipliers():
return [lambda x: i * x for i in range(4)]
print [m(2) for m in multipliers()]
输出为[6,6,6,6]。 这个的原因是 Python 的闭包的后期绑定导致的 late binding,这意味着在闭包中的变量是在内部函数被调⽤的时候被查。所以结果是,当任何 multipliers() 返回的函数被调⽤,在那时,i 的值是在它被调⽤时的周围作⽤域中查,到那时,⽆论哪个返回的函数被调⽤,for 循环都已经完成了,i 最后的值是 3,因此,每个返回的函数 multiplies 的值都是 3。因此⼀个等于 2 的值被传递进以上代码,它们将返回⼀个值 6 (⽐如: 3 x 2)。
以下代码是否报错
list= ["a’,’e’,’i’,’o’,’u’]
print list [8:]
输出为[]。 访问⼀个列表的以超出列表成员数作为开始索引的切⽚将不会导致 IndexError,并且将仅仅返回⼀个空列表。
以下代码的输出
def foo (i= []):
i.append (1)
return i
foo ()
foo ()
输出为[1],[1,1]。 新的默认列表仅仅只在函数被定义时创建⼀次。当foo没有被指定的列表参数调⽤的时候,其使⽤的是同⼀个列表。
数学统计学部分##
1. 什么是逻辑斯蒂回归(logistic regression)、
逻辑斯蒂回归常指逻辑回归模型,⽤于预测参数之间组合可能输出的⼆分结果。
2. 推荐系统、协同过滤
3. P值的意义
决定假设检验的的结果是否显著
4. 监督学习和⾮监督学习,机器学习算法
5. A/B测试
对有两个变量A,B的随机试验进⾏的统计结果测试,⽬的是识别改动对⽹页点击率的影响从⽽获得实现最⼤化的改动。
6. 特征值和特征向量
在数据分析是通过计算相关和协⽅差矩阵的特征向量可以⽤于确定之后的线性转换的⽅向。特征值表⽰特征向量⽅向转化或者压缩的强度。
7. 如何评价⼀个逻辑斯蒂模型
⽤分类矩阵查看真阴性和假阳性
⼀致性分析: 查看逻辑斯蒂模型区分事件是否发⽣的能⼒
与随机选择模型进⾏对⽐
8. 项⽬分析的步骤
理解问题
探索数据
准备数据⽤于建模
建模
测试
上线执⾏并追踪
9. 如何处理缺失数据?(如果缺失的数据不可得,将采⽤何种⼿段收集?)
⾸先判断缺失数据是否有意义,如果没有意义或者缺失数据的⽐例超过80%直接去掉。如果缺失数据有规律,则需根据其变化规律来推测次缺失值;如果数据没有规律,则⽤其他值代替:
如果数据符合正态分布,缺失值⽤期望值代替
如果数据是类型变量,则⽤默认类型值代替缺失值
10. 描述K-Means Clustering算法
11. 逻辑斯蒂回归和线性回归的区别
逻辑斯蒂回归的预测值是两元的,0或1;⽽线性回归的预测值是连续的。
12. 如何证明根号2是⽆理数
13. 统计中国有多少树
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论