gpt4 book ai didi

python - 将 numpy ndarray 数组元素展平为特征行

转载 作者:行者123 更新时间:2023-12-04 08:51:40 35 4
gpt4 key购买 nike

我有一个 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
所以每个数组都是一个单独的观察。所以我可以轻松地转换为数据框,添加适当的列标题(名称)。

最佳答案

如果我理解正确,这应该做你想要的:

np.transpose(X,(0,1,3,2)).reshape(X.shape[0],-1)
请注意,转置轴 2 和 3 是必要的,因为 reshape 将以行优先(C 样式)顺序完成。

关于python - 将 numpy ndarray 数组元素展平为特征行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64069416/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com