python数据分析面试_python数据分析面试

1. 如何利用SciKit包训练一个简单的线性回归模型

利用linear_model.LinearRegression()函数

# Create linear regression object

regr = linear_model.LinearRegression()

# Train the model using the training sets

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

7. 描述numpy array比python list的优势

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函数

10.如何对list中的item进行随机重排

使用shuffle()函数

10.装饰器的作用

装饰器可用于修饰函数或类。通过装饰器可以包裹函数或类使之执行之前或之后调用装饰器函数,从而达到抽离出大量函数中与函数功能本身无关的雷同代码并继续重用的目的。比较经典的厨力场景有检验权限,追踪参数,日志登陆等

11.以下代码的输出?

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)。

11.如何处理缺失数据?(如果缺失的数据不可得,将采用何种手段收集?)

首先判断缺失数据是否有意义,如果没有意义或者缺失数据的比例超过80%直接去掉。

如果缺失数据有规律,则需根据其变化规律来推测次缺失值;

如果数据没有规律,则用其他值代替:

如果数据符合正态分布,缺失值用期望值代替

如果数据是类型变量,则用默认类型值代替缺失值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值