为了账号安全,请及时绑定邮箱和手机立即绑定

Python如何求二维数组中每一列的最小元素

Python如何求二维数组中每一列的最小元素

Qyouu 2022-12-20 13:44:59
import randomx =[[random.randint(1,10) for j in range(5)] for i in range(4)]for i in range(4):    for j in range(5):        print("%4d" % (x[i][j]), end="")    print(end='\n')我需要在二维数组中找到每一列的最小元素并将它们添加到一个新数组(一维数组)中
查看完整描述

4 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以使用列表理解来应用于min每一列数据:


import random

x =[[random.randint(1,10) for j in range(5)] for i in range(4)]

for i in range(4):

    for j in range(5):

        print("%4d" % (x[i][j]), end="")

    print(end='\n')


print([min(x[i][j] for i in range(4)) for j in range(5)])

示例输出:


   8   1   7   6   9

   9   2   8   6   8

  10   5   3   3   5

   1   9   7  10   9


[1, 1, 3, 3, 5]


查看完整回答
反对 回复 2022-12-20
?
jeck猫

TA贡献1909条经验 获得超7个赞

使用np.min(arr_name, axis=1)



查看完整回答
反对 回复 2022-12-20
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

只需在每一列上使用 min 并列出理解。

x_new = [min(x_i) for x_i in x]


查看完整回答
反对 回复 2022-12-20
?
万千封印

TA贡献1891条经验 获得超3个赞

您应该查看 numpy() ,特别是np.min()。然后代码可以是:

# Convert 'x' to np array-

x_np = np.asarray(x)


# Sanity check-

x_np

'''

array([[ 8,  7, 10,  8,  8],

       [ 6,  6,  3,  6,  6],

       [ 9,  4,  2,  8,  3],

       [ 2,  4,  5,  3,  4]])

'''


# Minimum elements by squashing the columns-

np.min(x_np, axis = 1)

# array([7, 3, 2, 2])


# Minimum elements by squashing the rows-

np.min(x_np, axis = 0)

# array([2, 4, 2, 3, 3])


查看完整回答
反对 回复 2022-12-20
  • 4 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信