📅  最后修改于: 2023-12-03 15:03:19.188000             🧑  作者: Mango
在使用numpy进行数据处理时,常常需要获取指定列的数据。这里介绍几种常见的方法。
首先我们可以使用切片语法获取指定的列。假设我们有一个二维数组,要获取它的第二列:
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开始。
还可以创建一个包含列索引的索引数组来获取指定的列。假设我们要获取第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]])
注:这里还是用到了切片语法,但是列的索引不是直接写数字,而是用一个包含列索引的索引数组。
还可以使用布尔数组来选择指定的列。假设我们要获取数组中所有奇数列:
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表示不选取。
以上就是三种常见的方法,使用其中任意一个可以轻松地获取指定的列。