【发布时间】:2022-07-05 23:28:01
【问题描述】:
我已经完成了一个参数研究(图像压缩),它采用三个参数(x1、x2、x3)并为 50 个文件生成结果 y(压缩率)。 现在我试图找出哪个参数组合给了我所有文件的最小平均压缩率。我可以使用 python for 循环遍历所有参数组合并存储最佳结果(如下面的最小示例所示)。不过,我认为 pandas API 可能会提供更高效、更简洁的解决方案。
import pandas as pd
df = pd.DataFrame({
"result": [4, 3, 2, 1],
"parameter": [1, 0, 1, 0],
"file": ["A", "A", "B", "B"]
})
min_result = (df["result"][0], None) # Choosing the first value as starting point
for parameter in [0, 1]: # Iterating over [0, 1]
result = df[df["parameter"] == parameter]["result"].mean() # Mean value of all files
if result <= min_result[0]: # Choosing the smallest result
min_result = (result, parameter)
print(min_result) # >>> (2.0, 0)
【问题讨论】: