Python数据分析及可视化,科学计算练习题

第一章 单元测试

1、 问题:数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规则,为商业提供决策参考。( )
选项:
A:对
B:错
答案: 【对】

2、 问题:Anaconda中包含了conda、Python在内的超过18个科学包及其依赖项。( )
选项:
A:对
B:错
答案: 【对】

3、 问题:数据分析是一个有目的地收集和整合数据的过程。 ( )
选项:
A:对
B:错
答案: 【错】

4、 问题:Python是一门胶水语言,可以轻松地操作其他语言编写的库。 ( )
选项:
A:对
B:错
答案: 【对】

5、 问题:下列选项中,用于搭建数据仓库和保证数据质量的是( )。
选项:
A:数据收集
B:数据处理
C:数据分析
D:数据展现
答案: 【数据处理】

6、下列选项中,描述不正确的是( A )。

A. Pandas中只有Series和DataFrame这两种数据结构

B. Series是一维的数据结构

C. DataFrame是二维的数据结构

D. Series和DataFrame都可以重置索引

7、下列选项中,描述正确是( B )。

A. Series是一维数据结构,其索引在右,数据在左

B. DataFrame是二维数据结构,并且该结构具有行索引和列索引

C. Series结构中的数据不可以进行算术运算

D. sort_values()方法可以将Series或DataFrame中的数据按照索引排序

8、什么是矢量化运算?

答:NumPy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算。

9、实现数组广播机制需要满足哪些条件?

答:两个数组的某一维度等长,或其中一个数组为一维数组。

第二章 单元测试

1、 问题:如果两个数组的大小( ndarray shape)不同,则它们进行算术运算时会出现广播机制。( )
选项:
A:对
B:错
答案: 【对】

2、 问题:2.如果没有明确地指明数组中元素的类型,则默认为float64 ( )
选项:
A:对
B:错
答案: 【对】

3、 问题:.数组之间的任何算术运算都会将运算应用到元素级。( )
选项:
A:对
B:错
答案: 【错】

4、 问题:下列选项中,用来表示数组维度的属性是( )。
选项:
A:ndim
B:shape
C:.size
D:dtype
答案: 【ndim】

5、 问题:下面代码中,创建的是一个3行3列数组的是( )。
选项:
A:arr= np.array([1, 2, 3])
B:arr =np. array([1, 2, 3].[ 14, 5, 6]))
C:arr =np. array([[1, 2], [3, 41])
D:np.ones((3,3))
答案: 【np.ones((3,3))】

6、下列函数或方法中,用来表示矢量化三元表达式的是( A )。

A. where()

B. cumsum()

C. sort()

D. unique()

7、要想创建一个3 * 4的数组,下列选项正确的是( B )。

A.np.arange(12).reshape(4, 3)

B.np.arange(12).reshape(3, 4)

C.np.arange(7).reshape(4, 3)

D.np.arange(7).reshape(3, 4)

第三章 单元测试

1、 问题:Pandas是一个基于Numpy的Python库。( )
选项:
A:对
B:错
答案: 【对】

2、使用matplotlib有什么好处?

答:可以将数据进行可视化、更直观的显示,是数据更加客观、更具有说服力。

3、使用matplotlib.pyplot时如何创建画布?

答:

import matplotlib.pyplot as plt 
plt.figure(figsure = (), dpi= )

4、绘制了图像之后如何显示图像?

答:

plt.show()

 填空题:

5.1 在NumPy中,可以使用数组对象__执行一些科学计算

ndarray

5.2 如果ndarray.ndim执行的结果为2,则表示创建的是_维数组。

二维

5.3 NumPy的数据类型是由一个类型名和元素__的数字组成。

位长

5.4 如果两个数组的大小(ndarray.shape)不同,则它们进行算术运算时会出现__机制。

广播

 判断题

  1. 如果没有明确地指明数组中元素的类型,则默认为float64。( √)
  2. 数组之间的任何算术运算都会将运算应用到元素级。(√ )
  3. 多维数组操作索引时,可以将切片与整数索引混合使用。( √)
  4. 当通过布尔数组索引操作数组时,返回的数据是布尔数组中False对应位置的值。( ×)

填空题

  1. Pandas是一个基于 __的Python库。

    Numpy

  2. Pandas中有两个主要的数据结构分别为 __和 __ 。

    Series DataFrame

  3. Series结构由____组成。

    索引 数据

  4. 可以使用__ 和__创建一个Series对象。

    列表 字典

  5. 数据排序可以分为____

    按置排序 按索引排序

 选择题

1.下列选项中,用来表示数组维度的属性是( B)。

A. ndim

B. shape

C. size

D. dtype

2.下面代码中,创建的是一个3行3列数组的是( D )。

A. arr = np.array([1, 2, 3])

B. arr = np.array([[1, 2, 3], [4, 5, 6]])

C. arr = np.array([[1, 2], [3, 4]])

D. np.ones((3, 3))

3.请阅读下面一段程序:

arr_2d = np.array([[11, 20, 13],[14, 25, 16],[27, 18, 9]])

print(arr_2d[1, :1])

执行上述程序后,最终输出的结果为( A )。

A. [14]

B. [25]

C. [14, 25]

D. [20, 25]

4.请阅读下面一段程序:

arr = np.arange(6).reshape(1, 2, 3) 
print(arr.transpose(2, 0, 1))

执行上述程序后,最终输出的结果为( C )。

A.

[[[2 5]]

[[0 3]]

[[1 4]]]

B.

[[[1 4]]

[[0 3]]

[[2 5]]]

C.

[[[0 3]]

[[1 4]]

[[2 5]]]

D.

[[[0]

[3]]

[[1]

[4]]

[[2]

[5]]]

请阅读下面一段程序:

import pandas as pd

ser_obj = pd.Series(range(1, 6), index=[5, 3, 0, 4, 2])

ser_obj.sort_index()

执行上述程序后,最终输出的结果为( B )。

A.

5 1

3 2

0 3

4 4

2 5

B.

0 3

2 5

3 2

4 4

5 1

C.

5 1

4 4

3 2

2 5

0 3

D.

2 5

4 4

0 3

3 2

5 1

 简答题

简述Series和DataFrame的特点。

答:Series是一个类似于一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。

DataFrame是一个类似于二维数组的对象,它每列的数据可以是不同的数据类型。DataFrame的结构也是由索引和数据组成的,并且DataFrame的索引有行索引和列索引。

程序题

1.创建一个数组,数组的shape为(5,0),元素都是0。

import numpy as np 
arr = np.zeros(5) 
print(arr)

2.创建一个表示国际象棋棋盘的8*8数组,其中,棋盘白格用0填充,棋盘黑格用1填充。

import numpy as np 
arr = np.zeros((8,8),dtype=int) 
arr[1::2,::2] = 1 
arr[::2,1::2] = 1 
print(arr)

3 .有a = [“小张”,”小李”,”小王”,”小赵”,”小孙”,”小钱”,”小武”,”小郑”,”小冯”,”小码”],b=[55,80,75,90,82,30,42,99,54,66]两个数据,请绘制条形图如下所示(横坐标为姓名,纵坐标为分数):

Python数据分析及可视化,科学计算练习题

答:

from matplotlib import pyplot as plt 
from matplotlib import font_manager 
#解决中文乱码 
plt.rcParams['font.sans-serif'] = ['SimHei'] 
plt.rcParams['font.serif'] = ['SimHei'] 
#设置字体 
my_font = font_manager.FontProperties() 
#设置画布大小 
plt.figure(figsize=(20,10),dpi=80) 
#每个名称和分数,必须一一对应 
a = ["小张","小李","小王","小赵","小孙","小钱","小武","小郑","小冯","小码"] 
b=[55,80,75,90,82,30,42,99,54,66] 
#条形图 
plt.bar(a,b, align='center',color='orange',alpha=0.8) 
#x轴刻度 
plt.xticks(range(len(a)),a,rotation=0,fontproperties=my_font) 
#绘制网格 
plt.grid(alpha=0.2,color="#cccccc") 
#设置y轴范围 
plt.ylim([0,100]) 
#设置标题 
plt.ylabel("姓名",fontproperties=my_font) 
plt.xlabel("分数",fontproperties=my_font) 
plt.title("姓名分数条形图",fontproperties=my_font) 
#显示图形 
plt.show()

4 给定数据,绘制散点图,初步判断两组数据之间是否是线性关系:

x = [67.66397446, 87.8932002 , 15.49173638, 49.00073811, 93.34772669,29.19484048, 64.30818057, 88.35988062, 47.16284695, 47.83597447]

y = [16.267041703293813, 22.026598231507805, 4.595525565959681, 11.77011884672302, 23.328619677331318, 6.879516204429002, 15.71628337101803, 21.571674589732197, 12.279129102861052, 11.306641112119534]

答:

import matplotlib.pyplot as plt

plt.scatter(x, y)

plt.show()

绘制结果很明显几乎连成一条线,所以初步判断两组数据确实存在线性关系

5.请简单说明直方图的绘制方法

答:

1、拿到一列数据,保存在列表中;

2、求列表内所有元素的最小值min和最大值max;

3、建立直角坐标系,在x轴上,把min到max这个区间平均分成N个小区间,N由用户指定;

4、根据元素的值的大小,统计列表里落在每个小区间内的元素的数量;

5、在x轴上的每个小区间上绘制柱子,柱子的宽度等于小区间的长度,高度等于落在这个小区间上的元素的数量;

6、所有的柱子绘制完成后,就得到了这一列数据的直方图

6.请阅读如下代码, 说明用户最后保存的图像是什么,为什么?

代码:

#1.创建画布(容器层)

plt.figure(figsize=(10, 10))

# 2.绘制折线图(图像层)

plt.plot([1, 2, 3, 4, 5, 6 ,7], [17,17,18,15,11,11,13])

# 3.显示图像

plt.show()

# 4.保存图像

plt.savefig("test.png")

答:最后保存到的图像是空白的。因为plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片

7.自己生成数据, 绘制出正态分布对称轴左半部分数据的直方图

答:

import numpy as np

import matplotlib.pyplot as plt

# 生成数据

x = np.random.randn(10000000) 

x = x[x<0]  # 标准正态分布,对称轴x=0

# 创建画布

plt.figure(figsize=(20,8))

# 绘制图像

plt.hist(x, bins=1000)

# 显示图像

plt.show()

8 有两个矩阵如下,判断是否可以进行矩阵乘法,如果可以,请将结果写下来。

Python数据分析及可视化,科学计算练习题
Python数据分析及可视化,科学计算练习题

答:可以,结果矩阵如下

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/10180.html

(1)
上一篇 2022年1月28日 上午7:54
下一篇 2022年2月1日 上午8:49

99%的人还看了以下文章

  • 一秒解决cv2.imshow(”, frame) size.width>0 && size.height>0 in function ‘cv::imshow’ 错误

    看网上对size.width>0 && size.height>0 in function ‘cv::imshow’ 错误多是提示,路径问题:要修改路径中的\为/,或要改为绝对路径。 又或是路径包含中文,改成全英文。 搜了半天,没有一个解决问题。 我们静下心来,看下错误提示size.width>0 &&…

    2022年9月12日
    5910
  • 动态网站开发技术asp、asp.net、php、jsp比较

    asp、asp.net、php、jsp技术简介 ASP 全称为Active Server Pages(中文译名为活动服务器页面),是微软公司推出的用于Web应用服务的一种编程技术.采用的脚本语言: VBScript 和JavaScript。 ASP.NET 微软公司很快公布了其宏伟的“Windows.NET”计划,发布了成为下一代网络服务框架的NGWS,同时…

    2018年3月15日
    1.6K0
  • MySql数据库Timestamp、time、datetime 区别及使用详解

    对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 。 不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢? 一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和time部分,其中,date部分对应格式中的“YYYY-MM-DD…

    编程开发 2018年5月2日
    5.3K1
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    2.5K0
  • itbegin编程教学云课堂使用介绍

    进入https://www.itbegin.com/apps    点击右上角 登录 登录后,点击院校通–院校 点击进入个人中心 点击“web开发技术课堂”,进入相应课程 点击:我的预习,可以看到预习的知识点,时间要求。请同学们一定要在结束时间前完成任务! 点击查看,可以看到需要预习的知识点,预习以观察,查看效果为主。 如要求:观察各标签的使用及…

    2018年3月14日
    3.6K0
  • 跟永哥学MVC:jsp+javabean+servlet实现求圆的面积

    上一节课我们通过一个案例三种实现,教你理解Jsp、javabean、Servlet(精),今天我们仍然通过同一个案例求圆的面积,使用MVC:jsp+javabean+servlet来实现,深入理解MVC及Jsp、javabean、Servlet的分工和使用。 r5.jsp <form action=”servletCircle” Method=”pos…

    2018年2月22日
    3.1K0

发表回复

登录后才能评论

评论列表(1条)

  • 江山如画
    江山如画 2022年1月29日 上午8:05

    z=np.array([[11,20,13],[14,25,16],[27,18,19]])
    print(z[1,:1])
    以上程序的执行结果为:【14】