今天写线性回归问题的时候遇到了一个问题:
对于一个二维矩阵, python如何遍历其某一列元素.
遍历一行是很简单的, 直接使用索引即可, 但是遍历一列呢?
方法一: 直接遍历法
使用一个循环, 对每一行单独找出这列上的对应元素.
方法二: 列表解析法
这个方法其实和上面的那个方法是一样的, 不过列表解析的技术更酷一些.
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print([i[2] for i in a])
方法三: numpy矩阵法
numpy库中自带了遍历矩阵列元素的方法
import numpy as np
c = np.arange(9).reshape(3, 3)
print(c[:, 2])
如果不是np.ndarray
类型, 可以利用numpy进行类型转换, 然后再利用上面这种方法.
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = np.array(b)
print(b[:, 1])