【数据分析与智能计算】2.1 课后练习及参考答案

一、思考与练习(教材第21页)

1.一维数组访问。

  1. 在 subjects 数组中选择并显示序号 1 、 2 、 4 门课的名称,使用倒序索引选择并显示names 数组中“方绮雯“。
  2. 选择并显示 names 数组从 2 到最后的数组元素;选择并显示 subjects 数组正序 2~4的数组元素。
  3. 使用布尔条件选择并显示 subjects 数组中的英语和物理科目名称。

2. 二维数组访问。

  1. 选择并显示 scores 数组的 1 、 4 行。
  2. 选择并显示 scores 数组中行序 2 、 4 学生的数学和 Python 成绩。
  3. 选择并显示 scores 数组中所有学生的数学和艺术课程成绩 。
  4. 选择并显示 scores 数组中“王微”和“刘旭阳”的英语和艺术课程成绩。
  5. 生成由整数 10~19 组成的 2x5 的二维数组。

二、参考答案

import numpy as np
names = np.array(['王微','肖良英',"方绮雯",'刘旭阳','钱易铭'])
subjects = np.array(['Math', 'English', 'Python', 'Chinese', 'Art', 'Database', 'Physics'])
scores = np.array([[70,85,77,90,82,84,89],[60,64,80,75,80,92,90],[90,93,88,87,86,90,91],[80,82,91,88,83,86,80],[88,72,78,90,91,73,80]])
print('1. 一维数组访问。')
print('\n1) 在 subjects 数组中选择并显示序号 1、 2、 4 门课的名称,使用倒序索引选择并显示 names 数组中“方绮雯“。')
print(subjects[[1,2,4]])
print(names[-3])
print('\n2) 选择并显示 names 数组从 2 到最后的数组元素;选择并显示 subjects 数组正序 2~4 的数组元素。')
print(names[2::] )
print(subjects[2:5:1])
print('\n3) 使用布尔条件选择并显示 subjects 数组中的英语和物理科目名称。')
print(subjects[(subjects == 'English') | (subjects == 'Physics')])
print('\n2. 二维数组访问。')
print('\nl) 选择并显示 scores 数组的 1、 4 行。 ')
print(scores[[1,4]])
print('\n2) 选择并显示 scores 数组中行序 2、 4 学生的数学和 Python 成绩')
print(scores[[2,4]][:,(subjects == 'Python')])
print('\n3) 选择并显示 scores 数组中所有学生的数学和艺术课程成绩。')
print(scores[:,(subjects == 'English') | (subjects == 'Art')])
print('\n4) 选择并显示 scores 数组中“王微”和“刘旭阳”的英语和艺术课程成绩。 ')
print(scores[(names == '王微') | (names == '刘旭阳')] [:,(subjects == 'English') | (subjects == 'Art')])
print('\n3. 生成由整数 10~19 组成的 2x5 的二维数组。') 
print(np.arange(10,20).reshape(2,5))

运行结果:

1. 一维数组访问。

1) 在 subjects 数组中选择并显示序号 1、 2、 4 门课的名称,使用倒序索引选择并显示 names 数组中“方绮雯“。
['English' 'Python' 'Art']
方绮雯

2) 选择并显示 names 数组从 2 到最后的数组元素;选择并显示 subjects 数组正序 2~4 的数组元素。
['方绮雯' '刘旭阳' '钱易铭']
['Python' 'Chinese' 'Art']

3) 使用布尔条件选择并显示 subjects 数组中的英语和物理科目名称。
['English' 'Physics']

2. 二维数组访问。

l) 选择并显示 scores 数组的 1、 4 行。 
[[60 64 80 75 80 92 90]
 [88 72 78 90 91 73 80]]

2) 选择并显示 scores 数组中行序 2、 4 学生的数学和 Python 成绩
[[88]
 [78]]

3) 选择并显示 scores 数组中所有学生的数学和艺术课程成绩。
[[85 82]
 [64 80]
 [93 86]
 [82 83]
 [72 91]]

4) 选择并显示 scores 数组中“王微”和“刘旭阳”的英语和艺术课程成绩。 
[[85 82]
 [82 83]]

3. 生成由整数 10~19 组成的 2x5 的二维数组。
[[10 11 12 13 14]
 [15 16 17 18 19]]

  1. 关于参考答案中的形如scores[:,(subjects == 'English')]“条件筛选”,详细分析请参考这篇博客:【NumPy】数组的条件筛选
  2. 关于参考答案中形如scores[ ] [ ]的二次切片,请参考这篇博客:【数据分析与智能计算】第二章:NumPy库与数组

如果你正在学习/复习“数据分析与智能计算”这门课,或者是想要入门大数据、人工智能的同学,欢迎订阅本专栏~
觉得有用的话,不要忘了点赞、关注、分享哦~大家多多包涵,有任何问题欢迎指正、讨论。
本文基于CC-BY-NC-SA 4.0协议,请规范转载。
(博客看累了?去我的B站瞧一瞧?)

你可能感兴趣的:(数据分析与智能计算,python,numpy,数据分析)