【发布时间】:2021-01-12 02:27:09
【问题描述】:
我有一个 4D numpy array,其中每列代表 1 个数量,行是数量的统计导数,例如。
[mean mean mean
std std std
med med med]
假设第 1 列代表 speed 第 2 列 acceleration 等。我想将数组的每一列展平,以便将所有可用数量合并成一行特征:
mean std med mean std med mean std med ...
为了澄清我的担忧,我提供以下MWE:
input_shape = (1,3,4)
n_sample =20
X = np.random.randint(1, 10, size=(n_sample, )+ input_shape)
X.shape
(20,1,3,4)
所以 X 的前 2 个条目是:
X[:2]
array([[[[1, 7, 7, 8],
[9, 3, 4, 1],
[1, 1, 7, 1]]],
[[[2, 8, 9, 4],
[8, 4, 2, 7],
[3, 9, 8, 4]]]])
列代表数量q1, q2, q3, q4,行代表统计数据:mean, std, med 代表每个数组。
然后我想将每个数量的这些统计信息展平为特征行,以便最终结果如下:
q1_mean q1_std q1_med q2_mean q2_std q2_med q3_mean q3_std q3_med q4_mean q4_std q4_med
1 9 1 7 3 1 7 4 7 8 1 1
2 8 3 8 4 9 9 2 8 4 7 4
所以每个数组都是一个单独的观察值。所以我可以轻松地转换为数据框,添加适当的列头(名称)。
【问题讨论】:
标签: python arrays numpy multidimensional-array numpy-ndarray