Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将矩阵数组生成矩阵的三元组数组/Python_Python_Arrays_Pandas_Matrix - Fatal编程技术网

将矩阵数组生成矩阵的三元组数组/Python

将矩阵数组生成矩阵的三元组数组/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

我在一个数组中有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,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来解决。帮个大忙!