以下是一个示例代码,用于按每行的平均值对2D数组进行排序:
def sort_2d_array_by_average(arr):
# 计算每行的平均值
averages = [sum(row)/len(row) for row in arr]
# 使用zip函数将平均值和对应的行组合在一起
rows_and_averages = list(zip(arr, averages))
# 根据平均值进行排序
sorted_rows = sorted(rows_and_averages, key=lambda x: x[1])
# 提取排序后的行
sorted_arr = [row for row, avg in sorted_rows]
return sorted_arr
# 测试示例
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sorted_arr = sort_2d_array_by_average(arr)
print(sorted_arr)
输出结果为:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
在这个示例中,我们首先计算了每行的平均值,并将每行的平均值和对应的行组合在一起。然后,我们使用sorted
函数对这个组合进行排序,排序的依据是平均值。最后,我们提取排序后的行,返回排序后的2D数组。在这个示例中,由于每行的平均值都是相同的,所以输出结果与输入相同。
下一篇:按每行的缺失值数量将数据框拆分