在Python中将3d数组关联为n乘2d行

时间:2018-12-12 16:48:13

标签: python arrays numpy correlation

只是想知道是否有一种简单的方法可以将2d数组展平为相关行。好的,这是一个例子: 我有n个二维数组,例如:

enter image description here

所以在这里说个例子3d(6x10x n) 我如何将a1:a10,b1:b10关联到f1:f10,所以称它们为a1,a2,a3 .... f8,f9,f10并针对n行执行此操作。 N行60个特征(a1,a2,a3 ...)。

n行的答案是: enter image description here

import numpy as np 
from numpy import array
from numpy import vstack
from numpy import hstack
import scipy.io
mat = scipy.io.loadmat('x.mat')

我只能将.mat文件加载到python。我可以在Python中使用任何功能吗?谢谢您的帮助。

凯文

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

import numpy as np
import pandas as pd

Array = np.array(2d_array)
columns = Array[0, 1:]
rows = Array[1:, 0:1]
values = Array[1:,1:]

results = dict()
for row, column, value in np.nditer((rows, columns, values)):
    feature = "".join(map(str, [row, column]))
    if feature not in results:
       results[feature] = []
    results[feature].append(value)
df = pd.DataFrame.from_dict(results)