np.concatenate((arr1, arr2, arr3), axis=0)为什么把三个(1,100)的numpy数组合并为一个(1,300)的数组,要怎么得到一个(3,100)的数组
时间: 2023-11-25 10:08:03 浏览: 36
np.concatenate((arr1, arr2, arr3), axis=0)会将三个(1,100)的数组按行方向(axis=0)合并为一个(3,100)的数组,即在行的方向上拼接。
若要得到一个(3,100)的数组,可以将三个(1,100)的数组放在一个列表中,然后使用np.array()将列表转换为数组,如下所示:
```python
import numpy as np
arr1 = np.ones((1, 100))
arr2 = np.zeros((1, 100))
arr3 = np.full((1, 100), 2)
arr_list = [arr1, arr2, arr3]
arr = np.array(arr_list)
print(arr.shape) # (3, 100)
```
相关问题
np.concatenate(axis=1)
np.concatenate() 函数用于将多个数组沿指定轴连接在一起。其中,axis 参数用于指定连接的轴,axis=1 表示沿着水平方向进行连接。
例如,我们有两个数组 arr1 和 arr2,它们的形状都为 (3, 2),如下所示:
arr1 = np.array([[1, 2],
[3, 4],
[5, 6]])
arr2 = np.array([[7, 8],
[9, 10],
[11, 12]])
使用 np.concatenate() 函数可以将这两个数组在水平方向进行连接,代码如下:
result = np.concatenate((arr1, arr2), axis=1)
执行这段代码后,result 的值将为:
[[ 1 2 7 8]
[ 3 4 9 10]
[ 5 6 11 12]]
可以看到,两个数组在水平方向进行了连接,并且结果的形状变为了 (3, 4)。
note_arr = np.reshape(note_arr, (note_arr.shape[0], -1)) note_data = np.concatenate([note_arr, offset_arr], axis=-1)
这两行代码的作用是将 `note_arr` 和 `offset_arr` 合并成一个新的 numpy 数组 `note_data`,用于训练模型。
首先,`note_arr` 通过 `np.reshape` 函数被重新构造成一个新的形状 `(note_arr.shape[0], -1)` 的数组。其中,`note_arr.shape[0]` 表示样本数,`-1` 表示其余所有维度的元素数量将被自动计算得出。这里的目的是将 `note_arr` 中的后两维(即音符和持续时间)合并成一个维度,以方便后面的处理。
然后,`note_arr` 和 `offset_arr` 通过 `np.concatenate` 函数在最后一个维度上进行合并。这里的 `axis=-1` 表示在最后一个维度上进行合并,也就是将 `offset_arr` 中的偏移量添加到 `note_arr` 中的音符和持续时间后面。
最终,得到的 `note_data` 形状为 `(n_samples, n_notes * (n_durations + 1))`,其中 `n_notes * (n_durations + 1)` 表示每个样本中所有音符和它们的偏移量所占的总元素数量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)