Python numpy生成矩阵、串联矩阵

这篇博客介绍了使用Python的numpy库如何生成矩阵,包括numpy.array(), numpy.zeros(), numpy.ones()和numpy.eye()函数。同时,也讲解了如何串联矩阵,涉及到numpy.row_stack(), numpy.column_stack()和numpy.reshape()等方法。" 9791119,1517395,WSO2 ESB入门教程,"['SOA', 'ESB', 'Apache', '图形界面', 'WSO2']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy

生成numpy矩阵的几个相关函数:

numpy.array()

numpy.zeros()

numpy.ones()

numpy.eye()


串联生成numpy矩阵的几个相关函数:

numpy.array()

numpy.row_stack()

numpy.column_stack()

numpy.reshape()




>>> import numpy
>>> numpy.eye(3)
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> numpy.zeros(3)
array([ 0.,  0.,  0.])
>>> numpy.ones(3)
array([ 1.,  1.,  1.])
>>> x1 = numpy.array((1, 2, 3))
>>> x1
array([1, 2, 3])
>>> x2 = numpy.array([4, 5, 6])
>>> x2
array([4, 5, 6])
>>> x3 = numpy.array((x1, x2))
>>> x3
array([[1, 2, 3],
       [4, 5, 6]])
>>> x4 = x3.reshape(2, 3)
>>> x4
array([[1, 2, 3],
       [4, 5, 6]])
>>> x4 = x3.reshape(3, 2)
>>> x4
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> x5 = numpy.row_stack(x1, x2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: vstack() takes exactly 1 argument (2 given)
>>> x5 = numpy.row_stack((x1, x2))
>>> x5
array([[1, 2, 3],
       [4, 5, 6]])
>>> x6 = numpy.row_stack([x1, x2])
>>> x6
array([[1, 2, 3],
       [4, 5, 6]])
>>> x7 = numpy.row_stack((x6, x2))
>>> x7
array([[1, 2, 3],
       [4, 5, 6],
       [4, 5, 6]])
>>> x7[0]
array([1, 2, 3])
>>> x7[1]
array([4, 5, 6])
>>> x7[2]
array([4, 5, 6])
>>> x8 = numpy.column_stack([x1, x2, x1, x2])
>>> x8
array([[1, 4, 1, 4],
       [2, 5, 2, 5],
       [3, 6, 3, 6]])
>>> x8[0]
array([1, 4, 1, 4])
>>> x8[1]
array([2, 5, 2, 5])
>>> x8[2]
array([3, 6, 3, 6])
>>> x8[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: index 3 is out of bounds for axis 0 with size 3
>>> x8[0][3]
4
>>>



`numpy` 是 Python 中用于科学计算的强大库,它提供了一个高性能的多维数组对象以及许多对此操作的功能。其中 `sum()` 函数是用来对数组元素进行求和的一个重要工具。 ### 使用说明 #### 基本语法: ```python numpy.sum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>) ``` - **a**: 输入的数据可以是一个列表、元组或 ndarray 数组等。 - **axis** (可选): 指定沿哪个轴进行求和运算,默认值为 None 表示将所有元素相加。 - 如果输入是一维数组,则无需指定此参数; - 对于二维或多维数据结构来说很重要。比如对于矩阵,如果设置 `axis=0`, 则表示按列求和;若设成 `axis=1`, 就代表行方向上累加起来得到结果向量。 - **dtype** (可选) : 执行求和时使用的数据类型。如果不明确给出的话,系统会自动选择合适类型的精度来进行处理以防溢出等问题发生. - **out**(可选): 存储最终输出的位置变量名,通常不需要用户主动设定这个选项除非特殊需求场合下需要用到外部缓冲区等功能特性才考虑配置该项内容。 - 其他如keepdims 等高级用法这里暂略过详细介绍部分。 #### 示例代码: ##### 单维度数组求和 ```python import numpy as np arr = [4,5] # 可以为 list 或其他序列类型 total_sum=np.sum(arr) print("单维简单求和:", total_sum) # 输出应该是9因为这是两个数之合 ``` ##### 多维情况下的不同轴向应用实例展示 假设有如下形式定义好的二维随机整数值构成的小型方阵作为例子材料来源: ```python matrix_data=[[1 ,2], [-3,-4]] result_row_wise=sums_along_axis_1=numpy.sum(matrix_data,axis=1)#每行内部单独做总分统计任务返回形状改变后的新的array即[[x],[y]]格式的结果集组成新表项 print('沿着第1个主坐标系方向分别作用到各行自身范围内的各个成员上面所产生的效果:',results_row_vise) result_col_wise_sums_along_axis_zero=numpy.sum(matrices_with_two_rows_and_columns,axis=0 )#同样道理只是这次换成了针对每一列来合计数字而已故而获得的是横向展开版的答案也就是类似[(z),(w)]这样的呈现形态了哦朋友们! print("基于第二级次序单元所形成的垂直串联样式所得出来的对应位置处两元素间相互叠加之后生成的新成分集合表达式:",resutls_cols_wised ) ``` 以上通过具体实际案例展示了如何利用 NumPy 的 sum 方法完成不同类型场景的需求适配解答过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值