将矩阵数组生成矩阵的三元组数组/Python
我在一个数组中有891个大小为7X32的矩阵。我想得到891个大小为7X32的三重矩阵 两个矩阵的示例(显然不是那么大): 我需要它成为:将矩阵数组生成矩阵的三元组数组/Python,python,arrays,pandas,matrix,Python,Arrays,Pandas,Matrix,我在一个数组中有891个大小为7X32的矩阵。我想得到891个大小为7X32的三重矩阵 两个矩阵的示例(显然不是那么大): 我需要它成为: [[1,1,1,1,1], [2,2,2,2,2], [3,3,3,3,3]], [[1,1,1,1,1], [2,2,2,2,2], [3,3,3,3,3]], [[1,1,1,1,1], [2,2,2,2,2], [3,3,3,3,3]], [[2,2,2,2,2], [2,2,2,2,2], [3,3,3,3,3]], [[2,2,2,2,2], [2
[[1,1,1,1,1],
[2,2,2,2,2],
[3,3,3,3,3]],
[[1,1,1,1,1],
[2,2,2,2,2],
[3,3,3,3,3]],
[[1,1,1,1,1],
[2,2,2,2,2],
[3,3,3,3,3]],
[[2,2,2,2,2],
[2,2,2,2,2],
[3,3,3,3,3]],
[[2,2,2,2,2],
[2,2,2,2,2],
[3,3,3,3,3]],
[[2,2,2,2,2],
[2,2,2,2,2],
[3,3,3,3,3]],
其中[]表示它是一个不同的矩阵
我用来获取矩阵的代码:
matrices = np.dstack([df.values.astype(int)] * 32)
从常规数据帧
我想也许
matrices = np.dstack([[df.values.astype(int)] * 32]*3)
会有用的,但没用
我这样做是为了尝试将一个常规问题转化为“图像”,如cifar 10数据。扩展一个dim/轴后使用-
np.repeat(a[None],3,axis=0)
样本运行-
In [140]: a
Out[140]:
array([[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]])
In [141]: np.repeat(a[None],3,axis=0)
Out[141]:
array([[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]],
[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]],
[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]]])
我们也可以使用-
要制作可写版本,请附加.copy()
使用OP和@piRSquared之间的历史记录以及回复帖子,这里是我的飞镖- 延伸一个或多个尺寸/轴后使用-
np.repeat(a[None],3,axis=0)
样本运行-
In [140]: a
Out[140]:
array([[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]])
In [141]: np.repeat(a[None],3,axis=0)
Out[141]:
array([[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]],
[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]],
[[7, 1, 8, 6],
[5, 8, 1, 1],
[2, 7, 3, 7]]])
我们也可以使用-
要制作可写版本,请附加.copy()
使用OP和@piRSquared之间的历史记录以及回复帖子,这里是我的飞镖-
从原始数据帧来看,这似乎是可行的。不过,如果@Divakar提供了您需要的东西,我会听从他的建议 至于我的解决方案,我相信有更好的方法,但这是有效的。这甚至可能给@Divakar他需要看到的东西,以便向我们展示一个更好的方式
np.stack([np.dstack([df.values.astype(int)] * 32)] * 3).transpose(1, 0, 2, 3)
设置
df = pd.DataFrame({
'Embarked': [0, 1, 1, 3, 1],
'Family': [1, 1, 0, 1, 0],
'Fare': [1.0, 2.0, 1.0, 2.0, 2.0],
'Pclass': [3, 1, 3, 1, 3],
'Sex': [0, 1, 1, 1, 0],
'Title': [0, 3, 2, 3, 1]}
)['Pclass Sex Fare Embarked Title Family'.split()]
从原始数据帧来看,这似乎是可行的。不过,如果@Divakar提供了您需要的东西,我会听从他的建议 至于我的解决方案,我相信有更好的方法,但这是有效的。这甚至可能给@Divakar他需要看到的东西,以便向我们展示一个更好的方式
np.stack([np.dstack([df.values.astype(int)] * 32)] * 3).transpose(1, 0, 2, 3)
设置
df = pd.DataFrame({
'Embarked': [0, 1, 1, 3, 1],
'Family': [1, 1, 0, 1, 0],
'Fare': [1.0, 2.0, 1.0, 2.0, 2.0],
'Pclass': [3, 1, 3, 1, 3],
'Sex': [0, 1, 1, 1, 0],
'Title': [0, 3, 2, 3, 1]}
)['Pclass Sex Fare Embarked Title Family'.split()]
我需要对一个矩阵数组,而不仅仅是一个矩阵。单个矩阵是帮助问题可视化的一个例子。@AntonioLópezRuiz问题是-如何存储矩阵数组?是的,我为我拙劣的示例感到抱歉。为了更好的解释,我刚刚修改了它@Divakar@AntonioL奥佩兹鲁伊斯仍然不清楚。你能生成一个可运行的代码来生成“矩阵数组”吗?比如3D数组的
np.random.randint(0,9,(2,3,4))
等等?我现在已经举例说明了我是如何得到它的(对于一个2矩阵的例子),我需要对矩阵数组执行它,而不仅仅是一个矩阵。单个矩阵是帮助问题可视化的一个例子。@AntonioLópezRuiz问题是-如何存储矩阵数组?是的,我为我拙劣的示例感到抱歉。为了更好的解释,我刚刚修改了它@Divakar@AntonioL奥佩兹鲁伊斯仍然不清楚。你能生成一个可运行的代码来生成“矩阵数组”吗?比如3D数组的np.random.randint(0,9,(2,3,4))
等等?我现在已经详细说明了我是如何得到它的(对于一个2矩阵示例),它正是我所需要的!非常感谢你!注意@Divakar的答案,因为他可能会编辑它。如果他运行这个解决方案,并且清楚地知道你想要什么,那么他可能会有一个比这个更好的答案。如果他这样做,对你可能会更好。所以请注意,我会注意的,谢谢!有了这段缺失的代码,我正试图做一个从常规问题到图像类型的拓扑图,用CNN来解决。帮个大忙!这正是我需要的!非常感谢你!注意@Divakar的答案,因为他可能会编辑它。如果他运行这个解决方案,并且清楚地知道你想要什么,那么他可能会有一个比这个更好的答案。如果他这样做,对你可能会更好。所以请注意,我会注意的,谢谢!有了这段缺失的代码,我正试图做一个从常规问题到图像类型的拓扑图,用CNN来解决。帮个大忙!