📜  numpy 获取指定的列 (1)

📅  最后修改于: 2023-12-03 15:03:19.188000             🧑  作者: Mango

使用numpy获取指定的列

在使用numpy进行数据处理时,常常需要获取指定列的数据。这里介绍几种常见的方法。

1. 使用切片语法

首先我们可以使用切片语法获取指定的列。假设我们有一个二维数组,要获取它的第二列:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
col2 = arr[:, 1]
print(col2)

输出:

array([2, 5, 8])

注:第一个冒号表示获取所有行,第二个数字表示列的索引,索引从0开始。

2. 使用索引数组

还可以创建一个包含列索引的索引数组来获取指定的列。假设我们要获取第1列和第3列:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
col_indices = np.array([0, 2])
selected_cols = arr[:, col_indices]
print(selected_cols)

输出:

array([[1, 3],
       [4, 6],
       [7, 9]])

注:这里还是用到了切片语法,但是列的索引不是直接写数字,而是用一个包含列索引的索引数组。

3. 使用布尔数组

还可以使用布尔数组来选择指定的列。假设我们要获取数组中所有奇数列:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
odd_cols = arr[:, np.array([True, False, True])]
print(odd_cols)

输出:

array([[1, 3],
       [4, 6],
       [7, 9]])

注:这里创建了一个布尔数组来描述要选取哪些列,True表示选取,False表示不选取。

以上就是三种常见的方法,使用其中任意一个可以轻松地获取指定的列。