查找数组每行的最大值的列索引,统计其中列索引为'5'的个数
时间: 2024-04-29 22:25:52 浏览: 63
假设数组为二维列表,可以使用以下代码:
```python
array = [
[1, 2, 3, 4, 5, 6],
[7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18],
[19, 20, 21, 22, 23, 24]
]
max_indexes = []
count = 0
for row in array:
max_value = max(row)
max_index = row.index(max_value)
max_indexes.append(max_index)
if max_index == 5:
count += 1
print(max_indexes)
print(count)
```
输出结果为:
```
[5, 5, 5, 5]
4
```
其中,`max_indexes`为每行的最大值的列索引列表,`count`为列索引为'5'的个数。
相关问题
查找numpy数组每行的最大值的列索引,统计其中列索引为'0'的个数
可以使用numpy的argmax()函数来找到每行的最大值的列索引,然后使用numpy的count_nonzero()函数来统计其中为0的个数。
示例代码如下:
```python
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
max_indices = np.argmax(a, axis=1)
count_zero = np.count_nonzero(max_indices == 0)
print("每行的最大值的列索引:", max_indices)
print("列索引为'0'的个数:", count_zero)
```
输出结果为:
```
每行的最大值的列索引: [2 2 2]
列索引为'0'的个数: 0
```
这里的数组a中每行的最大值分别为3、6、9,它们的列索引分别为2、2、2,因此max_indices的值为[2, 2, 2]。由于这里没有列索引为0的最大值,count_zero的值为0。
查找数组每行的最大值的列名,统计其中列名为'0'的个数
以下是一种可能的解决方案:
```python
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 找出每行的最大值的索引
max_indices = np.argmax(arr, axis=1)
# 统计列名为'0'的个数
num_zeros = np.count_nonzero(max_indices == 0)
print("每行最大值的索引:", max_indices)
print("列名为'0'的个数:", num_zeros)
```
输出:
```
每行最大值的索引: [2 2 2]
列名为'0'的个数: 0
```
解释:
首先,我们使用 NumPy 创建了一个 3x3 的数组 `arr`,其中的元素为 1 到 9。
接下来,我们使用 `argmax` 函数找出每行的最大值的索引,这个函数返回一个一维数组,数组的每个元素表示对应行的最大值的列索引。
然后,我们使用 `count_nonzero` 函数统计出这个数组中值为 0 的元素的个数,即列名为'0'的个数。
在上面的例子中,每行的最大值的列索引都是 2,因此没有列名为'0'的列,输出为 0。
阅读全文