这个question2要用怎样的代码最简便的实现(标签-Python)

img


Python当中这个question2要用怎样的代码最简便的实现??能想到大概的路子,但是不知道怎么写,谢谢。
很简单大概找出表格中差值的极值,然后输出表格中对应的专业名称。麻烦给我一个代码范本学习一下。

自问自答吧~不得不说datascience里边的方法对于数据统计来说真的太好用了

img

假设你有一个包含差值数据的表格 data 和一个包含专业名称的列表 majors,你可以使用以下代码来找出差值的极值,然后输出对应的专业名称:

import numpy as np

# 构造示例数据
data = np.array([
    [0.1, 0.2, 0.3],
    [0.4, 0.5, 0.6],
    [0.7, 0.8, 0.9]
])
majors = ['专业A', '专业B', '专业C']

# 计算所有差值
diffs = np.abs(data - data[:, np.newaxis])

# 忽略对角线上的差值
np.fill_diagonal(diffs, np.inf)

# 找出最大和最小差值的索引
max_idx = np.unravel_index(np.argmax(diffs), diffs.shape)
min_idx = np.unravel_index(np.argmin(diffs), diffs.shape)

# 输出对应的专业名称
print('最大差值为 %f,对应的专业是 %s%s' % (diffs[max_idx], majors[max_idx[0]], majors[max_idx[1]]))
print('最小差值为 %f,对应的专业是 %s%s' % (diffs[min_idx], majors[min_idx[0]], majors[min_idx[1]]))

这个代码的思路是先计算出所有差值,然后忽略对角线上的差值(即每个专业与自己的差值),找出最大和最小的差值,最后输出对应的专业名称。你可以根据自己的数据和需要进行一些修改和调整。