在NumPy数组中生成不规则形状的1值
时间: 2023-07-16 07:13:13 浏览: 63
可以使用NumPy的索引技巧和布尔掩码来生成不规则形状的1值数组,例如:
```python
import numpy as np
# 创建一个4x4的零数组
arr = np.zeros((4, 4))
# 设置不规则形状的1值
arr[[0, 1], [1, 2]] = 1
arr[2:, 3] = 1
print(arr)
```
输出结果为:
```
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]
[0. 0. 0. 1.]]
```
在上面的例子中,我们使用索引 `[0, 1]` 和 `[1, 2]` 来设置第一行和第二行的 `(1, 2)` 和 `(2, 3)` 位置为1。然后,我们使用切片 `2:` 和索引 `3` 来设置第三行和第四行的 `(3, 4)` 位置为1。
相关问题
在numpy数组中生成不规则形状的1值
可以使用NumPy的索引技巧和布尔掩码来生成不规则形状的1值数组,例如:
```python
import numpy as np
# 创建一个4x4的零数组
arr = np.zeros((4, 4))
# 设置不规则形状的1值
arr[[0, 1], [1, 2]] = 1
arr[2:, 3] = 1
print(arr)
```
输出结果为:
```
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]
[0. 0. 0. 1.]]
```
在上面的例子中,我们使用索引 `[0, 1]` 和 `[1, 2]` 来设置第一行和第二行的 `(1, 2)` 和 `(2, 3)` 位置为1。然后,我们使用切片 `2:` 和索引 `3` 来设置第三行和第四行的 `(3, 4)` 位置为1。
怎么向空的numpy数组中加入numpy数组
你可以使用numpy中的concatenate函数将两个numpy数组按照某个方向拼接起来,可以使用如下代码将一个numpy数组添加到另一个空的numpy数组中:
``` python
import numpy as np
# 空的numpy数组
empty_arr = np.empty([0, 3])
# 待添加的numpy数组
arr_to_add = np.array([[1, 2, 3], [4, 5, 6]])
# 在空的numpy数组中添加新的numpy数组
result = np.concatenate([empty_arr, arr_to_add])
```
当你运行这个代码时,你会得到一个形状为(2, 3)的numpy数组,其内容为:
```
[[1. 2. 3.]
[4. 5. 6.]]
```
希望这个回答能够帮到你!