鱼C论坛

 找回密码
 立即注册
查看: 1458|回复: 5

[已解决]元组和数组

[复制链接]
发表于 2023-10-27 16:21:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一组一行矩阵[[[123]]  , [[456]] , [[789]]]弄成单独的矩阵数组怎么搞[[123]]  , [[456]] , [[789]]
最佳答案
2023-10-27 21:13:03
你的问题是关于如何将一组具有额外维度的数组转换为具有较少维度的数组。你提供的例子中,你有一组一行矩阵,每个矩阵都包含一个数字,你希望将它们转换为单独的独立数组。

这个问题可以通过使用Python的Numpy库来解决。Numpy提供了一个函数numpy.squeeze,它可以从数组的形状中移除一维条目。以下是如何使用它的一个例子:

import numpy as np# 创建原始数组arr = np.array([[[123]], [[456]], [[789]]])# 使用squeeze移除额外的维度arr_squeezed = np.squeeze(arr, axis=1)# 打印结果print(arr_squeezed)


在这个例子中,axis=1参数告诉numpy.squeeze函数移除第二个维度(在Python中,索引是从0开始的,所以第二个维度的索引是1)。

运行上述代码后,你将得到:

[b][i]`[/i]这是你期望的结果。请注意,结果数组的形状是(3, 1),而不是(3,),因为虽然我们从原始数组中移除了一个维度,但每个元素仍然是一个一维数组。如果你希望得到一个一维数组,你可以再次调用[b][i]numpy.squeeze[/i][/b],这次不带参数:
[/b]python
arr_squeezed = np.squeeze(arr_squeezed)
这将会得到一个一维数组:

array([123, 456, 789])
`
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 16:21:28 | 显示全部楼层
你可以使用Python中的列表(list)来创建一个矩阵数组。下面是将给定的一行矩阵转换为单独的矩阵数组的代码:
matrix = [[[123]], [[456]], [[789]]]
matrix_array = [m[0] for m in matrix]

在这个代码中,我们使用列表推导式来遍历原始矩阵中的每个元素,并将其添加到新的矩阵数组中。 m[0]  是为了获取每个矩阵的第一个元素,因为原始矩阵的每个元素都是一个嵌套的列表。

现在, matrix_array  将包含三个单独的矩阵: [[123]] 、 [[456]]  和  [[789]] 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-27 16:21:50 | 显示全部楼层
您可以将该矩阵表示为一个数组,其中每个元素都是一个独立的矩阵。以下是如何将给定的矩阵转换为单独的矩阵数组的示例代码:
matrix = [[[123]], [[456]], [[789]]]
matrix_array = [m[0] for m in matrix]

现在,matrix_array 是一个包含单独矩阵的数组,即 [[123], [456], [789]]。每个矩阵仍然是一个嵌套列表,但内部的额外括号已被移除,使之成为单独的矩阵。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-27 16:31:39 | 显示全部楼层
陶远航 发表于 2023-10-27 16:21
您可以将该矩阵表示为一个数组,其中每个元素都是一个独立的矩阵。以下是如何将给定的矩阵转换为单独的矩阵 ...

我要的是单个独立的每个数据是以[[]]隔开的,不是一个矩阵,是单独的以“,”号隔开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-27 16:33:22 | 显示全部楼层
isdkz 发表于 2023-10-27 16:21
你可以使用Python中的列表(list)来创建一个矩阵数组。下面是将给定的一行矩阵转换为单独的矩阵数组的代码 ...

我要的是单个独立的每个数据是以[[]]隔开的,不是一个矩阵,是单独的以“,”号隔开,看清楚括号这地方
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-27 21:13:03 | 显示全部楼层    本楼为最佳答案   
你的问题是关于如何将一组具有额外维度的数组转换为具有较少维度的数组。你提供的例子中,你有一组一行矩阵,每个矩阵都包含一个数字,你希望将它们转换为单独的独立数组。

这个问题可以通过使用Python的Numpy库来解决。Numpy提供了一个函数numpy.squeeze,它可以从数组的形状中移除一维条目。以下是如何使用它的一个例子:

import numpy as np# 创建原始数组arr = np.array([[[123]], [[456]], [[789]]])# 使用squeeze移除额外的维度arr_squeezed = np.squeeze(arr, axis=1)# 打印结果print(arr_squeezed)


在这个例子中,axis=1参数告诉numpy.squeeze函数移除第二个维度(在Python中,索引是从0开始的,所以第二个维度的索引是1)。

运行上述代码后,你将得到:

[b][i]`[/i]这是你期望的结果。请注意,结果数组的形状是(3, 1),而不是(3,),因为虽然我们从原始数组中移除了一个维度,但每个元素仍然是一个一维数组。如果你希望得到一个一维数组,你可以再次调用[b][i]numpy.squeeze[/i][/b],这次不带参数:
[/b]python
arr_squeezed = np.squeeze(arr_squeezed)
这将会得到一个一维数组:

array([123, 456, 789])
`
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 13:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表