下面是一个示例代码,可以按行求列的值之和,并找出达到总和的x%的列。
import numpy as np
def find_columns(matrix, x):
# 计算每一列的和
column_sums = np.sum(matrix, axis=0)
# 计算总和
total_sum = np.sum(column_sums)
# 计算达到总和的x%的列的阈值
threshold = total_sum * x / 100
# 找到符合条件的列的索引
selected_columns = np.where(column_sums >= threshold)[0]
return selected_columns
# 示例矩阵
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 设置x为50%
x = 50
# 调用函数找到符合条件的列的索引
selected_columns = find_columns(matrix, x)
print("符合条件的列的索引:", selected_columns)
运行上述代码,将会输出符合条件的列的索引。根据示例矩阵和50%的阈值,输出为[1, 2]
。这表示第2列和第3列的和达到了总和的50%以上。