草庐IT

利用Python进行数据分析期末复习题

包小乙 2023-12-27 原文

文章目录

一、选择题

         二、填空题

三、判断题

四、代码分析题

五、程序题


一、选择题

1.sum(range(0,101)的结果是( )

A.5050      B.5151       C.0        D.101

A

2.下面哪个不是python合法的标识符()

A.int32     B.70XL       C.self        D.__name__

B

3.’abcabcabc’.count(‘abc’)的值为()

A.9             B.1             C.3               D.0

C

4.如下

str1=”Runoob example......WoW!!!”

Str2=”exam”;

Print(str1.find(str2,5))打印的结果是()

A.6        B.7        C.8        D.-1

B

5.以下关于字典操作的描述,错误的是()

A.del用于删除字典或者元素

B.clear用于清空字典中的数据

C.len方法可以计算字典中键值对的个数

D.keys方法可以获取字典的值视图

D

6.python中,函数定义可以不包括以下()

A.函数名       B.关键字def   C.一对圆括号  D.可选参数列表

D

7.python中,数据结构分为可变类型和不可变类型,下面属于不可变类型的是()

A.字典中的键

B.列表

C.集合

D.字典

A

8.Print(2**4+16%3)的结果是()

A.17        B.21       C.9      D.13

A

9.下列哪种不是Python元组的定义方式()

A.(1) B.(1,) C.(1,2)   D(1,2,(3,4))

A

10.以下关于python的赋值说法错误的是哪一个选项()

A.Python支持链式赋值和多重赋值

B.Python中同一个变量名在不同位置可以被赋予不同类型的值

C.Python赋值时大小写不敏感

D.Python中不需要显式声明该变量的类型,根据“值”确定类型

C


二、填空题

1.假设a,b=10,50,则条件表达式a>10andb<100的值为_______

False

2.表达式len(‘SDIBT’)的值为__________

5

3.已知x=[1,2,3,2,3],执行语句x.pop( )之后,x的值为_____

[1,2,3,2]

4.已知mylist=[1,7,3,4,5,6,7,8,11,19,20],执行mylist[-1:7:-1]的结果是多少________

[20,19,11]

5.字典对象的____方法可以一次性清空字典中所有条目

clear()

6.已知x=[1,2,3,4,5],那么执行语句del x[1:3]之后,x的值为______

[1,4,5]

7.pandas中的______函数主要用于将各种JOIN操作运用在你的数据上

merge()/join

8.______函数从文件、URL或者文件对象读取分隔好的数据,逗号是默认分隔符。

read_csv()

9.fillna函数中的参数method如果设置为’ffill’则表示_____填充NaN值。

向前

10.Python标准库math中用来计算平方根的函数是_____

sqrt

11.已知x = list(range(20)),那么语句print(x[100:200])的输出结果为_____________

[ ]


三、判断题

1.放在一对三引号之间的任何内容将被认为是注释()

×

2.列表,元组,字符串是python中的有序序列,字典和集合是无序序列()

3.在python中列表是可变对象,元组和字符串是不可变对象()

4.python标准库random的方法randint(m,n)用来生成一个m和n之间的随机整数()

5.字典中的值不允许重复()

×

6.使用DataFrame的to_csv方法,可以将数据导出为逗号分隔的文件()

7.对DataFrame做unstack()操作会将行中的数据透视到列()

8.使用python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引()

9.python集合可以包含相同的元素()

×

10.已知x=(1,2,3,4),那么执行x[0]=5之后,x的值为(5,2,3,4)()

×


四、代码分析简答题

1.写出程序的最后运行结果

import pandas as pd
Import numpy as np
f3=pd.DataFrame({‘lkey’:[‘b’,’b’,’a’,’c’,’a’,’a’,’b’],’data1’:range(7)})
f4=pd.DataFrame({‘rkey’:[‘a’,’c’,’d’],’data2’:range(3)})
Print(pd.merge(df3,df4,left_on=’lkey’,right_on=’rkey’))

        Lkey   data1  rkey   data2

0          a        2        a        0

1          a        4        a        0

2          a        5        a        0

3          c        3        c        1

2.多维数组切片(三维,四维)

3.写出程序的最后运行结果

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
rect = plt.Rectangle((0.2, 0.75), 0.4, 0.15, color='k', alpha=0.3)
circ = plt.Circle((0.7, 0.2), 0.15, color='r', alpha=0.3)
pgon = plt.Polygon([[0.15, 0.15], [0.35, 0.4], [0.2, 0.6]], color='g', alpha=0.5)
ax.add_patch(rect)
ax.add_patch(circ)
ax.add_patch(pgon)

4.数据聚合与分组操作

5.请分别描述列表和元组的定义方式以及他们之间的区别

list和tuple区别

不同点:定义的方式:list[]   tuple()

list可变  tuple()不可变

List中有append(),insert()函数,tuple中没有

相同点:都是有序的集合(容器)

五、程序题

1.编程分别计算100以内(含100)奇数与偶数的和

s1,s2=0,0
for i in range(1,101):
   If i%2==1:
      s1=s1+i
else:
      s2=s2+i
Print(s1,s2)

2.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数

n = 0
for x in range(1, 5):
        for y in range(1, 5):
            for z in range(1, 5):
                if (x != y) and (y != z) and (z != x):
                    print("%d%d%d" % (x, y, z), end=",")
                    n += 1
print()
print(n)

3.判断1000-2000之间有多少个素数,并输出所有素数.

n=0
for i in range(1000,2001):
    a=2

    while a<i: #
        if i%a==0:break
        else:a=a+1
    if a==i:
        n+=1
        print(i)
print(n)

4.打印出所有的"四叶玫瑰数",所谓"四叶玫瑰数"是指一个四位数,其各位数字四次方和等于该数本身。

for i in range(1000,10000):
  a = int(i/1000)
  b = int(i%1000/100)
  c = int(i%100/10)
  d = int(i%10)
  if pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)==i:
    print(i)

5.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符输出的数并分别统计每一种类型的个数。

InPut = input('请输入字符串:')
letters = [ ]
spaces = [ ]
digits = [ ]
others = [ ]
for i in iter(InPut):
 if i.isalpha():
  letters.append(i)
 elif i.isspace():
  spaces.append(i)
 elif i.isdigit():
  digits.append(i)
 else:
  others.append(i)
print('''
字母: {}, 个数: {}
空格: {}, 个数: {}
数字: {}, 个数: {}
其他: {}, 个数: {}'''\
.format(letters, len(letters), spaces, len(spaces), digits, len(digits),others, len(others)))

6.打印九九乘法表。

i = 1
while i < 10:
    j = 1
    while j <= i:
        print(str(j)+"*"+str(i)+"="+str(i*j),end="\t")
        j = j + 1
    print("")
    i = i + 1

有关利用Python进行数据分析期末复习题的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby-on-rails - 按天对 Mongoid 对象进行分组 - 2

    在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  6. ruby - 如何进行排列以有效地定制输出 - 2

    这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][

  7. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  8. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  9. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  10. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

随机推荐