资讯动态

python数据分析编程教程—NumPy 基础 — 数组与运算 — 示例、习题与答案

发布时间:2026/9/20 13:03:33 来源:尧图企业网站定制
第 5 章NumPy 基础 — 数组与运算 — 示例、习题与答案本章教程内容见 第 5 章NumPy 基础 — 数组与运算习题一、选择题下列关于 NumPy 数组与 Python 列表的说法错误的是A. NumPy 数组元素必须同类型B. NumPy 数组运算速度通常比列表快C. NumPy 数组可以像列表一样存放任意类型混合数据D. NumPy 数组在内存中是连续存储的执行np.array([1, 2, 3], dtypefloat)后数组的dtype是A.int32B.int64C.float64D.strnp.linspace(0, 10, 5)生成的数组是A.[0 1 2 3 4]B.[ 0. 2.5 5. 7.5 10. ]C.[0 2 4 6 8 10]D.[0 10 5]数组a np.array([[1,2,3],[4,5,6]])a.shape的结果是A.(6,)B.(2, 3)C.(3, 2)D.(2, 2, 3)下列哪个运算表示矩阵乘法非逐元素A.a * bB.a ** bC.a bD.a bnp.array([[1,2,3],[4,5,6]]).sum(axis0)的结果是A.[1 2 3]B.[4 5 6]C.[5 7 9]D.[6 15]执行np.array([1.9, 2.4]).astype(np.int32)结果是A.[2. 2.]B.[1 2]C.[2 2]D.[1.9 2.4]下列关于reshape的说法正确的是A.reshape会改变数组元素的数量B.reshape要求变形前后元素总数一致C.reshape只能用于一维数组D.reshape会随机打乱元素顺序二、判断题NumPy 数组可以同时存放整数和字符串。 np.arange(0, 1, 0.2)可以生成小数步长的数组。 a * b在 NumPy 中表示矩阵乘法。 flatten()返回的是原数组的视图修改会影响原数组。 axis0表示沿着列方向跨行进行统计。 np.sqrt(np.array([4, 9]))的结果是[2. 3.]。 三、填空题NumPy 中核心的数组对象叫做 ________英文全称缩写。查看 NumPy 数组元素数据类型的属性是 ________。把[1.5, 2.7]转成整型数组会得到 ________。二维数组a转置用属性 ________ 表示。np.array([[1,2],[3,4]]).sum(axis1)的结果是 ________。生成 0 到 1 之间均匀分布的 6 个点应使用函数 ________。四、简答题简述 NumPy 数组相比 Python 列表的两个主要优势。说明np.arange和np.linspace的区别并各举一个使用场景。简述flatten()和ravel()的区别。解释axis0和axis1在二维数组统计中的含义。五、实操题创建一个 4x4 的二维数组元素为 1 到 16完成以下任务输出数组形状、维度、元素个数、数据类型。计算每行的平均值和每列的总和。将数组转置并输出结果。把数组展平成一维并输出。给定温度数据单位摄氏度[23.5, 25.0, 19.8, 30.1, 28.7, 22.0]用 NumPy 计算平均温度、最高温、最低温、温度标准差并把温度转换成华氏度F C * 9/5 32。答案与解析一、选择题答案C。NumPy 数组要求元素类型相同不能混合存放任意类型故 C 错误。C。dtypefloat默认是 64 位浮点float64。B。linspace(0, 10, 5)生成 0 到 10 含端点共 5 个等距点即[0, 2.5, 5, 7.5, 10]。B。2 行 3 列shape为(2, 3)。C。表示矩阵乘法*是逐元素相乘。C。axis0跨行求和每列相加得[14, 25, 36] [5 7 9]。B。astype是截断而非四舍五入1.9-12.4-2。B。reshape不改变元素数量变形前后元素总数必须一致。二、判断题答案×。NumPy 数组要求元素类型一致不能混放整数和字符串。√。arange支持小数步长。×。a * b是逐元素乘法矩阵乘法用或dot。×。flatten()返回副本ravel()才返回视图。√。axis0沿列方向跨行统计。√。sqrt([4,9]) [2., 3.]。三、填空题答案ndarraydtype[1 2]截断小数a.T或.T[3 7]每行求和[12, 34]np.linspace四、简答题答案两个主要优势①速度快底层用 C 实现且连续内存存储②运算方便支持向量化运算无需循环即可对整体做数学运算。arange按步长生成linspace按个数生成。如生成 0~10 步长 2 用arange(0,10,2)如生成 0~1 共 100 个采样点用linspace(0,1,100)。flatten()返回副本修改不影响原数组ravel()返回视图修改可能影响原数组且更省内存。axis0沿列方向操作跨行结果维度等于列数axis1沿行方向操作跨列结果维度等于行数。记忆axis 指定的维度会被“消去”。五、实操题答案实操题 1importnumpyasnp anp.arange(1,17).reshape(4,4)print(数组\n,a)print(形状,a.shape)print(维度,a.ndim)print(元素个数,a.size)print(数据类型,a.dtype)print(每行平均值,a.mean(axis1))print(每列总和,a.sum(axis0))print(转置\n,a.T)print(展平,a.flatten())输出数组 [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] 形状 (4, 4) 维度 2 元素个数 16 数据类型 int32 每行平均值 [ 2.5 6.5 10.5 14.5] 每列总和 [28 32 36 40] 转置 [[ 1 5 9 13] [ 2 6 10 14] [ 3 7 11 15] [ 4 8 12 16]] 展平 [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]实操题 2importnumpyasnp cnp.array([23.5,25.0,19.8,30.1,28.7,22.0])print(平均温度,round(c.mean(),2),°C)print(最高温度,c.max(),°C)print(最低温度,c.min(),°C)print(温度标准差,round(c.std(),2))fc*9/532print(华氏温度,np.round(f,2))输出平均温度 24.85 °C 最高温度 30.1 °C 最低温度 19.8 °C 温度标准差 3.6 华氏温度 [74.3 77. 67.64 86.18 83.66 71.6 ]

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价