python二维数组取每列的后两行分割
时间: 2023-05-24 14:05:13 浏览: 238
python numpy--数组的组合和分割实例
可以使用切片操作来实现。
假设我们有一个二维数组arr,形如:
```python
arr = [[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]
```
要取每列的后两行,可以先将数组转置,即:
```python
arr_t = [[1, 4, 7, 10],
[2, 5, 8, 11],
[3, 6, 9, 12]]
```
然后对每列使用切片,取后两行,即:
```python
result = [column[-2:] for column in arr_t]
```
这样得到的result就是一个包含每列后两行的列表,形如:
```python
[[9, 12], [6, 11], [7, 8]]
```
注意,上面的代码假定每列至少有两行数据。如果有的列不足两行,那么对这些列使用切片会得到空列表。如果需要将这些空列表替换为None或其他值,可以通过条件表达式来实现。例如,可以改为:
```python
result = [column[-2:] if len(column) >= 2 else [None, None] for column in arr_t]
```
这样得到的result就会将每列不足两行的情况用[None, None]代替,形如:
```python
[[9, 12], [6, 11], [7, 8], [None, None]]
```
阅读全文