第一章

Jupyter notebook不具备的功能是(D)
  • A.Jupyter notebook可以直接生成一份交互式文档
  • B.Jupyter notebook可以安装Python库
  • C.Jupyter notebook可以导出HTML文件
  • D.Jupyter notebook可以将文件分享给他人
在Jupyter notebook的命令模式下,要查看所有快捷键应该按下的快捷键是 ( C )
  • A.M
  • B.ESC
  • C.H
  • D.A
简述数据分析与数据挖掘的区别与联系。
差异类型数据分析数据挖掘
定义描述和探索性分析,评估现状和修正性不足技术性的“采矿”,过程,发现未知的模式和规律
侧重点实际的业务知识涉及到 业务知识
技能统计学,数据库,Excel,可视化等过硬的数学功底和编程技术
结果需结合业务知识解读统计结果模型或规律
简述数据可视化分析的基本过程。
  • 包括数据处理、视觉编码和可视化生成。数据处理聚焦于数据的采集、清理、预处理、分析和挖掘;视觉编码聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示;可视化生成则聚焦于解决将数据转换成图形,并进行交互处理。数据可视化分析通过对数据不断地观察、分析从而发现有用的信息模式。
简述Jupyter Notebook的安装及第三方包的安装过程。
  • Python第三方包的安装方式较多,本书建议采用以下方式进行安装和管理。
    (1)在CMD命令窗口中,使用conda命令进行自动下载安装,用法如下:
    conda install <包名称列表> #安装包
    conda remove <包名称列表> #卸载包
    conda search<搜索项> #搜索包
    conda list #查看所有包
    conda update<包名称> #升级包
    (2)在CMD命令窗口中使用pip命令,用法如下:
    pip install <包名> #安装包
    pip install–upgrade <包名> #更新包
    pip uninstall <包名> #删除包
    也可以在Jupyter notebook的cell中运行pip命令执行相应的命令,只需在命令前加“!”,如执行 ! pip install 包名 进行包的安装。
简述Jupyter Notebook中编辑模式与命令模式之间的切换方法。
  • 按esc键切换为命令模式,按enter键进入编辑模式
在Jupyter notebook的cell中安装包语句正确的是(C )。
  • A. pip install 包名
  • B. conda install 包名
  • C. !pip install 包名
  • D. !conda install 包名

第二章

列表是不可变对象,支持在原处修改。 ( )
元组是不可变的,不能直接修改元组中元素的值,也不能为元组增删元素。( )
Python使用lambda创建匿名函数,匿名函数拥有自己的命名空间。( )
同一个列表中的元素的数据类型可以各不相同。( )
列表、元组和字符串属于有序序列,其中的元素有严格的先后顺序。 ( )
集合中的元素没有特定顺序但可以重复。( )
列表推导式在逻辑上等价于一个循环语句,只是形式上更加简洁( )
在Python中创建一个空集合,可以直接用 set1={} 。( )
列表、元组和字符串都支持双向索引,有效索引的范围为[-L,L],L为列表、元组或字符串的长度。( )
包含列表的元组可以作为字典的键。( )

第三章

Numpy提供了两种基本对象,一种是ndarray,另一种是( B )
  • A.array

  • B.func

  • C.matrix

  • D.Series

创建一个3*3的数组,下列代码中错误的是( C )
  • A.np.arange(0,9).reshape(3,3)

  • B.np.eye(3)

  • C.np.random.random([3,3,3])

  • D.np.mat(“1,2,3;4,5,6;7,8,9”)

Numpy中统计数组元素个数的方法是( C )
  • A.ndim

  • B.shape

  • C.size

  • D.itemsize.

有arr = np.arange(12).reshape(3,4),则arr[(0,1),(1,3)]对应的值是______和______;arr[1:2,(0, 3)]对应的元素是______和______;arr.ndim的值是______。
  • 1 7 4 11 2
对于上题中的arr,若定义mask = np.array([1,0,1],dtype = np.bool),则arr[mask,1] 对应的元素是______和______。
  • 1 9
a=np.arange(8).reshape(2,4),np.hsplit(a,2)返回值是______。
  • [array([[0, 1],[4, 5]]),array([[2, 3],[6, 7]])]
数组转置是数据重塑的一种特殊形式,可以通过 ___方法或数组的T属性实现。
  • transpose
创建一个范围在(0,1)之间的长度为12的等差数列的语句是 ___。
  • np.linspace(0,1,12)
Numpy中数组的方法sort、argsort和lexsort分别是指 、 将___和
  • 直接排序、x中的元素从小到大排列,提取其对应的index(索引)、对数组或列表按照某一行或列进行排序
实现创建一个10*10的ndarray对象,满足矩阵边界全为1,里面全为0对应的代码是______。
  • a= np.zeros((10,10), dtype =int)
    a[0,:]=1
    a[:,9]=1
    a[:,0]=1
    a[9,:]=1
将数组arr中所有的奇数置为-1对应的语句是______。
  • arr[arr%2!=0]=-1
Numpy中的diag函数用于创建(A )。
  • A.对角矩阵

  • B.三角矩阵

  • C.值为1的矩阵

  • D.值为0的矩阵

Numpy.random模块中用于对一个序列进行随机排序的函数是( B )。
  • A.uniform

  • B.shuffle

  • C.permutation

  • D.normal

在NumPy中创建一个元素均为0的数组可以使用( A )函数。
  • A.zeros( )

  • B.arange( )

  • C.linspace( )

  • D.logspace( )

第四章

创建Series时如果指定了index,则只能用index访问数据。( )
创建DataFrame时会自动加上索引,且全部列会被有序排列。( )
Pandas中数据对象的索引可以随时被修改。 ( )
Pandas中数据的重建索引指对索引重新排序而不是修改。( )
交叉表是一种特殊的透视表,主要用于计算分组频率。 ( )
两个索引不一致的series进行算数运算会出错。( )
Pandas中与set_index方法相关用于还原索引的方法是 ___。
  • reset_index
Series是一种一维数组对象,包含一个值序列。Series中的数据通过______访问。
  • 索引
Series有两种描述某条数据的手段,即______和标签。
  • 位置
一个DataFrame对象的属性values和ndim分别指___ 和 ___。
  • 数据元素、维度
reindex方法中的参数method可以取值为‘ffill’和‘bfill’,分别指___ 和______。
  • 前向填充、后向填充
随机抽取数据的语句sample(frac=0.7)中的frac参数的含义是______。
  • 抽取比例
修改数据中的参数“inplace”的含义是______。
  • 是否在原数据上修改
Pandas的数据对象在进行算术运算时如果存在不同索引会进行数据对齐,但会引入______。
  • NAN值
Pandas中的applymap方法的作用是______。
  • 将函数套用到数据的行与列上
Pandas中绘图时可以只用plot方法,具体绘图可以用参数 ___设置。
  • kind
在以下Pandas方法中不能实现实现合并数据的函数是( A )。
  • A. agg()函数

  • B. concat()函数

  • C. join()方法

  • D. merge()函数

设置索引使用哪种方法。( D )
  • A. merge()方法

  • B. concat()方法

  • C. to_datetime()方法

  • D. set_index()方法

Pandas中的apply方法能将函数应用于每一列。( )

第五章

利用下面哪个可视化绘图可以发现数据的异常点。 ( C )

A. 密度图

B. 直方图

C. 盒图

D. 概率图

以下关于缺失值检测的说法中,正确的是( D )

A. null和notnull可以对缺失值进行处理

B. dropna方法既可以删除观测记录,还可以删除特征

C. fillna方法中用来替换缺失值的值只能是数据框

D. Pandas库中的interpolate模块包含了多种插值方法

Pandas中利用merge函数合并数据表时默认的是内连接方式。( )
Pandas中的描述性统计一般会包括缺失数据。 ( )
语句dataframe.dropna(thresh=len(df)*0.9,axis=1) 表示如果某列的缺失值超过90%则删除该列。 ( )
利用merge方法合并数据时允许合并的DataFrame之间没有连接键。 ( )
哑变量(Dummy Variables)又称虚拟变量,是用以反映质的属性的一个人工变量。( )
简述Pandas删除空缺值方法dropna中参数thresh的使用方法。
  • dropna中的参数thresh当传入thresh = N时,表示要求一行至少具有N个非NaN才能存活。
简述Python中利用数据统计方法检测异常值的常用方法及其原理。
  • a.散点图方法观察 b. 箱线图分析 c. 3σ法则
  • 散点图
    就观察。。。哈哈哈
    箱线图
    大于上限,小于下限为异常值
    3σ法则
    超出3σ之外的值为异常值
简述数据分析中要进行数据标准化的主要原因。
  • 不同特征之间往往具有不同的量纲,由此造成数值间的差异很大。因此为了消除特征之间量纲和取值范围的差异可能会造成的影响,需要对数据进行标准化处理
简述Pandas中利用cut方法进行数据离散化的用法。
  • 将数据的值域划分成具有相同宽度的区间,区间个数由数据本身的特点决定或由用户指定。Pandas提供了cut函数,可以进行连续型数据的等宽离散化。cut函数的基础语法格式为:
    pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3)
在现实世界的数据中,缺失值是常有的,一般的处理方法有( ABCD )。
  • A. 忽略

  • B. 删除

  • C. 平均值填充

  • D. 最大值填充

Pandas中使用isnull().sum()可以统计缺失值。( )
Pandas中的dropna中的thresh=N时表明要求一行有N个NaN值时该数据才能保留。( )

第六章

Matplotlib中的哪个包提供了一批操作和绘图函数(A )
  • A.pyplot

  • B.Bar

  • C.rcparams

  • D.pprint

以下关于绘图标准流程说法错误的是( B )
  • A. 绘制简单的图形可以使用缺省的画布

  • B. 添加图例可以在绘制图形之前

  • C. 添加x轴,y轴的标签可以在绘制图形之前

  • D. 修改x轴标签,y轴标签和绘制的图形没有先后

下列参数中调整后显示中文的( C )
  • A. lines.linestyle

  • B. lines.linewidth

  • C. font.sans-serif

  • D. axes.unicode_minus

以下说法错误的是( C )
  • A. 饼图一般用于表示不同分类的占比情况。

  • B. 箱线图展示了分位数的位置。

  • C. 散点图无法反映特征间的统计关系。

  • D. 词云对于文本中出现频率较高的关键词予以视觉上的突出。

简述数据可视化按照数据类型进行分类的类型。
  • 有时空数据可视化,层次与网络结构数据可视化,文本和跨媒体数据可视化以及多变量数据可视化。
简述Matplotlib全局参数定制的方法。
  • 查找到当前用户的配置文件目录,然后用编辑器打开,修改matplotlibrc文件,即可修改配置参数。
简述Matplotlib中通过text和annotate进行绘图文本注解的区别。
  • text函数在指定位置加入文本注释,annotate函数在图像实现带有指向型的文本注释。
根据如下绘制写出相应的代码。

(1) 绘图函数:y=sin(x), y=cos(x), x = np.linspace(-np.pi, np.pi, 256, endpoint=True);
(2) 绘制填充区域:
紫色区域:(-2.5<x)&(x<-0.5)
绿色区域:np.abs(x)<0.5,sinx>0.5
紫色的设置:color=‘purple’.
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] 
plt.rcParams['axes.unicode_minus']=False   
# 创建x轴数据,从-pi到pi平均取256个点; 
x = np.linspace(-np.pi,np.pi,256,endpoint=True)   
# 创建y轴数据,根据X的值,求正弦和余弦函数; 
sin,cos = np.sin(x),np.cos(x)  
# 设置正弦函数曲线的颜色为蓝色(blue),线型为实线,线宽为2.5mm;
#余弦函数曲线的颜色为红色(red),线型为实线,线宽为2.5mm。
plt.plot(x,sin,"b-",lw=2.5,label="正弦Sin()")  
plt.plot(x,cos,"r-",lw=2.5,label="余弦Cos()")   
# 设置坐标轴的范围,将x轴、y轴同时拉伸1.5倍,
plt.xlim(x.min()*1.5,x.max()*1.5)
plt.ylim(cos.min()*1.5,cos.max()*1.5)
# 设置x轴、y轴的坐标刻度,
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
plt.yticks([-1,0,1])
# 为图表添加标题“绘图实例之COS()&SIN()”,字体大小设置为16,字体颜色设置为绿色;
plt.title("绘图实例之COS()&SIN()",fontsize=16,color="green")
# 在图表右下角位置文本为“python-matplotlib”,文本大小为16,文本颜色为紫色
plt.text(+2.1,-1.4,"python_matplotlib",fontsize=16,color="purple")
# 获取Axes对象,并隐藏右边界和上边界;
ax=plt.gca()   
ax.spines['right'].set_color('none')   
ax.spines['top'].set_color('none')      
#  将x轴的坐标刻度设置在坐标轴下侧,坐标轴平移至经过零点(0,0)的位置,
ax.xaxis.set_ticks_position('bottom')   
ax.spines['bottom'].set_position(('data',0))  
# 将y轴的坐标刻度设置在坐标轴左侧,坐标轴平移至经过零点(0,0)的位置,
ax.yaxis.set_ticks_position('left')        
ax.spines['left'].set_position(('data',0))    
# 添加图例,图例位置为左上角,图例文字大小为12,
plt.legend(loc="upper left",fontsize=12)
# 用绘制散点图的方法在正弦,余弦函数上标注这两个点的位置,设置点大小为50,设置相应的点颜色;
t1=-np.pi
t2=2*np.pi/3
plt.scatter([t1,],[np.cos(t1),], 50, color ='b')  
plt.scatter([t2,],[np.sin(t2),], 50, color ='r')
# 为图表添加带箭头的注释;
plt.annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
             xy=(t2,np.sin(t2)),    #点的位置
             xycoords='data',       #注释文字的偏移量
             xytext=(+10,+30),      #文字离点的横纵距离
             textcoords='offset points',
             fontsize=14,      #注释的大小
             arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))   
plt.annotate(r'$\cos(-\pi)=-1$',
             xy=(t1,np.cos(t1)),   #点的位置
             xycoords='data',      #注释文字的偏移量
             xytext=(0,-40),       #文字离点的横纵距离
             textcoords='offset points',
             fontsize=14,    #注释的大小
             arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))   
# 获取x,y轴的刻度,并设置字体;
for label in ax.get_xticklabels()+ax.get_yticklabels():
    label.set_fontsize(18)                                        
# 绘制填充区域;#设置正弦函数的填充区域,颜色为绿色(green),余弦函数的填充区域,颜色为紫色(purple)
plt.fill_between(x, np.abs(x)<0.5, sin, sin>0.5, color='g', alpha=0.8)
plt.fill_between(x, cos, where=(-2.5<x)&(x<-0.5), color='purple')
# 绘制网格线
plt.grid()
plt.show()
以下( C )函数可以在绘制图表时,设置x轴的名称。
  • A. xlim()

  • B. ylim()

  • C. xlabel()

  • D. xticks()

以下哪个函数可以实现画布的创建?( C )
  • A. subplots( )

  • B. add_subplot( )

  • C. figure( )

  • D. subplot2grid( )

在极坐标投影中,需要以半径和角度的形式定义。( )
在matplotlib里面,可以使用LaTex的命令来编辑公式,只需要在字符串前面加一个字符___即可。
  • r
在绘图中,有时候需要同时显示数据表格。Matplotlib在绘图中提供了___方法可以同时显示数据表格。
  • table
Matplotlib配置了配色方案和默认设置。有两种方式可以设置参数,即全局参数定制和 ___方法。
  • rc参数设置
绘图时可以通过text函数在指定位置加入注释,也可以通过___ 在图中实现带有指向型的文本注释。
  • annotabe
Matplotlib中绘图时的参数___ 用于设置点的透明度。
  • alpha

第七章

Seaborn的绘图更加便捷美观,是matplotlib的替代。 ( )
需要转换默认的Seaborn绘图风格,只需调用有参数设置的set方法。( )
使用Seaborn中的set_style( ) 设置主题,有5个预设的主题。( )
热力图实现过程就是将离散的点信息映射为图像。( )
简述Seaborn绘图风格设置的内容和方法。
  • Seaborn通过set函数实现风格设置。
    seaborn.set(context=‘notebook’, style=‘darkgrid’, palette=‘deep’, font=‘sans-serif’, font_scale=1, color_codes=True, rc=None)
简述Seaborn绘图主题设置的内容和方法。
  • Seaborn将matplotlib的参数划分为两个独立的组合。第一组是设置绘图的外观风格的,第二组主要将绘图的各种元素按比例缩放的,以至可以嵌入到不同的背景环境中。控制这些参数的接口主要有两对方法:
    控制风格:axes_style(), set_style()
    缩放绘图:plotting_context(), set_context()
    每对方法中的第一个方法(axes_style(), plotting_context())会返回一组字典参数,而第二个方法(set_style(), set_context())会设置matplotlib的默认参数。
    利用set_style( )设置主题,Seaborn有五个预设的主题: darkgrid、 whitegrid、dark、white和 ticks,默认为darkgrid。
简述临时设置绘图参数的方法。
  • 利用with语句
    with sns.axes_style(“darkgrid”):
    plt.subplot(2,1,1)
    sinplot( )
Seaborn中的relplot方法关注的是统计量之间的关系,利用kind参数设置,可以绘制出曲线图和散点图。( )
在Seaborn中可以将一个字典参数传递给axes_style()的参数rc进行参数设置。( )
绘制回归图可以揭示两个变量之间的线性关系。( )
Seaborn中可以通过___方法移除绘图上方和右方坐标上不需要的边框。
  • despine
在Seaborn中使用______方法实现数据特征两两对比的散点图矩阵。
  • pairplot

第八章

简述pyecharts代码链式调用的方法。
  • V1 版本开始支持链式调用
    bar = ( Bar()
    .add_xaxis([“衬衫”, “毛衣”, “领带”, “裤子”, “风衣”, “高跟鞋”, “袜子”])
    .add_yaxis(“商家A”, [114, 55, 27, 101, 125, 27, 105])
    .set_global_opts(title_opts = opts.TitleOpts(title = “某商场销售情况”)) )
    bar.render_notebook()
简述桑基图和平行坐标图的主要作用。
  • 桑基图(Sankey diagram)即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。Pyecharts中利用Sankey绘制桑基图。
    平行坐标图(Parallel Coordinates Plot)是对于具有多个属性问题的一种可视化方法。在平行坐标图中,数据集的一行数据在平行坐标图中用一条折线表示,纵向是属性值,横向是属性类别(用索引表示)。
简述pyecharts中地图绘制的主要过程。
  • 安装pycharts
  • 创建实例
  • 添加数据
  • 设置系列配置项
  • 设置全局配置项
  • 生成的地图以html格式保存
pyecharts还可以生成地理空间流动图,用来表示航班数量、人口流动等等。( )
图是一种抽象的数据结构,可以描述最广泛的数据间的关系,如交通网络,微信中的朋友关系网。( )
pyecharts中通过___绘制漏斗图。
  • funnel
pyecharts中通过___ 绘制K线图。
  • kline
pyecharts中通过___ 绘制仪表盘图。
  • gauge
pyecharts中通过 ___绘制仪桑基图。
  • sankey
___是对于具有多个属性问题的一种可视化方法,其中,数据集的一行数据在平行坐标图中用一条折线表示,
  • 平行坐标图

第九章

在Pandas中用于创建指定长度的日期型序列的方法是pandas.___ 方法。
  • date_range
datetime类数据是date类和time类的组合。通过 ___方法可以查看当前系统时间。
  • now()
可以使用datetime.strptime将字符串转换为______。
  • 时间类型
时间序列的重采样是时间序列频率转换的过程,高频率聚合到低频率称为______。
  • 下采样
简述时间序列数据分析的应用场景。
  • 在多个时间点观测或测量的数据形成了时间序列。时间序列数据是一种重要的结构化数据类型,如金融、经济、生态学、神经科学和物理学等领域。
简述用Python来进行平稳性检验的常用方法。
  • 用Python来进行平稳性检验主要有时序图检验、自相关图检验以及构造统计量进行检验3种方法。
    (1)时序图
    时序图就是普通的时间序列图,即以时间为横轴,观察值为纵轴进行检验。利用时序图可以粗略观察序列的平稳性。
    (2)自相关图检验
    平稳序列通常具有短期相关性,即随着延迟期数k的增加,平稳序列的自相关系数会很快地衰减向零,而非平稳序列的自相关系数的衰减速度会比较慢。画自相关图用到的是statsmodels中的plot_acf方法。自相关图中横轴表示延迟期数,纵轴表示自相关系数。
    (3)构造统计量
    利用绘图判断序列的平稳性比较直观,但不够精确,ADF(Augmented Dickey-Fuller)法直接通过假设检验的方式来验证平稳性。ADF的原假设(H0)和备择假设(H1)如下:
    H0:具有单位根,属于非平稳序列;
    H1:没有单位根,属于平稳序列。
    Python中可以使用statsmodels中的adfuller方法进行ADF检验,直接输入数据,即可返回7个数值。其中的第一个返回值adf就是ADF方法的检验结果,这个值理论上越负越能拒绝原假设;第二个返回值pvalue以常用的判断标准值0.05作为参考,若其值大于0.05,说明支持原假设,反之拒绝原假设,表明该序列是一个平稳序列。
分析股票你选择用哪种分析方法( C )
  • A. 聚类

  • B. 一元线性回归

  • C. 时间序列

  • D. 多元线性回归

时间序列索引方法和Pandas数据的索引是相同的。( )
时序图就是普通的时间序列图,即以时间为横轴,观察值为纵轴进行检验。( )
利用时序图可以粗略观察序列的平稳性。( )
自相关图中横轴表示延迟期数,纵轴表示自相关系数。( )
ADF(Augmented Dickey-Fuller)法直接通过假设检验的方式来验证平稳性。( )
在Pandas中可以通过___方法快速将一列字符串转换为datatime数据。
  • to_datatime
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐