python获取二维numpy数组第一列和第三列形成一个新的数组
时间: 2024-05-15 11:20:04 浏览: 9
可以使用以下代码来获取二维numpy数组的第一列和第三列形成一个新的数组:
```python
import numpy as np
# 创建一个二维numpy数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 获取第一列和第三列
new_arr = arr[:, [0, 2]]
print(new_arr)
```
输出结果:
```
array([[1, 3],
[4, 6],
[7, 9]])
```
在这个例子中,我们使用`arr[:, [0, 2]]`来获取第一列和第三列形成一个新的数组。`[:, [0, 2]]`中的冒号表示获取所有行,`[0, 2]`中的0和2表示获取第一列和第三列。
相关问题
二维numpy数组去除第一列并输出新数组
可以使用numpy的切片功能来实现去除二维数组的第一列。以下是一个示例代码:
```python
import numpy as np
# 创建一个3x4的二维数组
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 使用切片去除第一列
new_arr = arr[:, 1:]
# 输出新数组
print(new_arr)
```
输出结果为:
```
[[ 2 3 4]
[ 6 7 8]
[10 11 12]]
```
这样就成功地去除了原数组的第一列,并输出了新的二维数组。
把一个二维numpy数组按照第一列的大小升序排列
可以使用numpy中的argsort函数来实现。具体步骤如下:
1. 获取数组第一列的值
2. 使用argsort函数对第一列的值进行升序排序,返回排序后的索引值
3. 使用take函数根据排序后的索引值对整个数组进行排序
下面是示例代码:
```python
import numpy as np
# 创建一个二维数组
arr = np.array([[3, 2, 1], [6, 5, 4], [9, 8, 7]])
# 获取第一列的值
first_col = arr[:, 0]
# 对第一列的值进行升序排序,返回排序后的索引值
sorted_index = np.argsort(first_col)
# 根据排序后的索引值对整个数组进行排序
sorted_arr = arr.take(sorted_index, axis=0)
print(sorted_arr)
```
输出结果为:
```
[[3 2 1]
[6 5 4]
[9 8 7]]
```
可以看到,数组按照第一列的大小升序排列了。